当前位置: 代码迷 >> C# >> C# TcpClient客户端如何在发送时接收呢
  详细解决方案

C# TcpClient客户端如何在发送时接收呢

热度:52   发布时间:2016-05-05 04:51:31.0
C# TcpClient客户端怎么在发送时接收呢?
现在向服务端发送没有问题。服务端是不是这样:(监听到有连接后返回一个tcpClient对象) 直接向这个对象发送数据。。
然后客服端在发送后开一个线程来接收么?
------解决思路----------------------
引用:
修改一下上面的代码
Dictionary<long, Action<byte[]>> dic = new Dictionary<long, Action<byte[]>>()
 
private void Send(byte[] buffer, Action<byte[]> callback)
{
    lock(dic)
    {
        var n = 当前的消息序号();
        dic.Add(n, callback);
        buffer = 重新封装消息信令(n, buffer);    //将编号n 封装进消息中
    }
    this.Client.Send(buffer);
}



我这里只是简单举例。实际的信令,不仅仅要在“最外层”封装消息的序号,而且还要封装对方解析时应该知道的类型名称,甚至终端编号等等。

要想进行高效率的长连接通讯,就需要进行信令格式设计。而不是仅知道几条tcp通讯指令。

大神能不能给个博客地址学习一下啊。