以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]服务端停止了,客户就不能工作  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176878)

--  作者:2900819580
--  发布时间:2022/4/29 14:21:00
--  [求助]服务端停止了,客户就不能工作
老师,想做到如果服务端关闭或停止工作了。 QQServer.Ready = False
则所有的客户端都不能使用。这个应该怎么处理。

是在客户端做计划吗?应该如何做。

--  作者:有点蓝
--  发布时间:2022/4/29 14:23:00
--  
到客户端Disconnected事件处理即可:http://www.foxtable.com/webhelp/topics/2996.htm
--  作者:2900819580
--  发布时间:2022/5/11 18:05:00
--  
老师,我好像没有讲清楚,我是想问如果问服务器退出(关闭)后,就中断了客户端的连接,

如果服务端重新启动后,如何让客户端接收到,重新连接。



--  作者:z769036165
--  发布时间:2022/5/12 8:27:00
--  
做个模式窗口,设置重连和退出按钮,在客户端中断服务器连接后弹出这个窗口
自动重连则用窗口的计时器功能,定时重连

--  作者:2900819580
--  发布时间:2022/5/12 11:32:00
--  

老师,

做了个窗体,代码如下,时间设置了1秒连接一次,连接不成功时如果想要退出,点击【But退出】,有时就没有什么反应(那时程序应该在执行QQClient.Start),要点很多次才可以。


连接中断通知_AfterLoad

 

e.Form.TimerEnabled = True

e.Form.TimerInterval = 1000

 

连接中断通知_But手动连接_Click

 

Dim Lbl As WinForm.Label = e.Form.Controls("Label1")

 

If QQClient.Ready = True Then

    Lbl.ForeColor = Color.White

    Lbl.Text = "与服务器连接成功"

    e.Form.TimerEnabled = False

Else

    Lbl.Text = "与服务器连接中断正在尝试重新连接....."

    If Lbl.ForeColor = Color.Red Then

        Lbl.ForeColor = Color.Yellow

    Else

        Lbl.ForeColor = Color.Red

    End If

    QQClient.Start

End If

 

连接中断通知_But退出_Click

    e.Form.TimerEnabled = False

If QQClient.Ready = True Then

    e.Form.Close

Else

    Dim Result As DialogResult = MessageBox.Show("与服务器的连接还处理中断状态请确认是否退出整个系统", "退出提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

    If Result = DialogResult.Yes Then

        Syscmd.Project.Exit()

    End If

End If

 


[此贴子已经被作者于2022/5/12 11:32:44编辑过]

--  作者:有点蓝
--  发布时间:2022/5/12 12:05:00
--  
设置了15秒,或者30秒连接一次。连接太频繁了