最近需要写一个C组成的服务器端与C#的客户端进行交互的软件,刚开始写的时候发现C#端解析时候出现了故障,经过仔细研究后发现原因是发送方传输太快,出现了所谓粘包的现象。也就是在C#端的Receive()。这个函数返回的是多个结构体连起来的数据,这当然是无法解析的。我的解决方案如下: ...
最近需要写一个C组成的服务器端与C#的客户端进行交互的软件,刚开始写的时候发现C#端解析时候出现了故障,经过仔细研究后发现原因是发送方传输太快,出现了所谓粘包的现象。也就是在C#端的Receive()。这个函数返回的是多个结构体连起来的数据,这当然是无法解析的。我的解决方案如下:
List<byte[]> listb = new List<byte[]>();..........int recv = newclient.Receive(b1);for (int x = 0; x < recv / 12; x++){byte[] b2 = new byte[12];int i=0;for (int lc = x * 12; lc < x * 12 + 12; lc++){b2[i] = b1[lc];i++;}listb.Add(b2);}
原标题:C与C# socket 跨平台通讯传输结构体
关键词:C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。