zoukankan      html  css  js  c++  java
  • Socket 客户端的断开重连

    因为服务端不是自己写,不能进行心跳检测,只能尝试其他方式。

    在尝试其他方式失败的情况下,无奈的开始尝试增加一条线程进行连接测试,即使用一个Socket_client_test 连接服务端,然后使用disconnect(true)方式,当连接断开时抛出异常并结束线程,此时判断为断开,开始重连。

    测试代码如下:

            private void client_connect_test()
            {
                string test_host = Tb_clientIP.Text;
                int test_port = Convert.ToInt32(Tb_clientPort.Text);
                IPAddress test_ip = IPAddress.Parse(test_host);
                IPEndPoint test_endPoint = new IPEndPoint(test_ip, test_port);

                try
                {
                    client_test_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    client_test_socket.Connect(test_endPoint);
                    Thread.Sleep(20);
                    client_test_socket.Disconnect(true);  //true会将进程一直保持在这一步直到发生异常,false在重复运行时容易发生错误,暂时就没试了。。。
                }
                catch (Exception e)
                {
                    log_writer("#4 远程断开,重新连接。" + e.Message);
                    client_reboot_need = true;  //需重启的标志
                }
            }

    纯粹瞎看自学,先以目的为指导,之后再看看原因了。。。

  • 相关阅读:
    常量的定义
    二进制、八进制、十进制、十六进制间的转换
    使用简单的 5 个步骤设置 Web 服务器集群
    新手推荐:IIS+PHP+MYSQL环境配置教程
    windows7 iis安装与配置
    web服务器配置方法
    如何配置web服务器
    系统没有“internet信息服务(IIS)管理器”
    Html 内嵌 选择器属性 Dom操作 JavaScript 事件
    <转载>使用css让大图片不超过网页宽度
  • 原文地址:https://www.cnblogs.com/Elvis-Luo/p/9786706.html
Copyright © 2011-2022 走看看