美文网首页
socket通信问题

socket通信问题

作者: 108k | 来源:发表于2021-01-06 15:57 被阅读0次

1、连接状态显示混乱

表现:有的断开了又显示连上,有的连上了又显示断开等

原因:查了一下,问题出在连接状态更新在另一个线程上,时间差导致的混乱。

解决:lock锁,只有在client!=null时才更新连接状态为连上。

代码:

public void Touch()

    {

      client = new BaoClient(plc.Ip, int.Parse(plc.Port));

      client.connectEvent += new Action<string>(Connected);

      client.recvMessageEvent += new Action<string>(Received);

      client.Start();

    }

    public void Break()

    {

      client.CloseClientSocket();

      lock (this)

      {

        client = null;

        IsTouched = false;

      }

    }

    void Connected(string key)

    {

      lock (this)

      {

        if (client != null)

          this.IsTouched = true;

      }

    }

相关文章

  • socket通信问题

    1、连接状态显示混乱 表现:有的断开了又显示连上,有的连上了又显示断开等 原因:查了一下,问题出在连接状态更新在另...

  • Kotlin网络编程(3)TCP Socket 低层次网络编程

    TCP Socket 通信概念TCP Socket 通信过程Socket 类ServerSocket 类案例:文件...

  • Go语言之三 Socket通信

    socket通信是最基本的一种进程通信方式,要掌握socket通信就需要知晓socket通信的行为语义。 这里go...

  • Socket 通信 知识梳理

    1.socket是网络通信的一项技术,android的socket通信其实使用的是java的socket通信技术。...

  • 5.0.3.Socket

    Socket(网络套接字)是网络编程提供的一种机制,通信的两端都要有socket,网络通信就是socket通信数据...

  • CocoaAsyncSocket --Socket学习

    Socket理论 套接字(Socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信...

  • 网络基本

    网络通信的要素 socket通过socket来建立连接,然后通信 IP -- Internet Protocol网...

  • 知识点

    关于Socket通信:客户端通过new Socket()方法创建通信的Socket对象服务器端通过new Serv...

  • Socket通信原理

    Socket通信原理 Socket博客地址Socket 是一组调用接口、是{ 应用层与TCP/IP协议族 }通信...

  • 2021-09-25 网络编程(Socket)

    1.Socket就是为网络服务提供的一种机制2.通信的两端都有Socket3.网络通信其实就是Socket间的通信...

网友评论

      本文标题:socket通信问题

      本文链接:https://www.haomeiwen.com/subject/qpanoktx.html