例如下面这是两条完整的数据,
!Fox,1,1,,B,16:@uW8P018Vk;bDal6meB7004qp,0*78
!Fox,1,1,,B,169?tr8P008Vk7@Dai0mdOw20HDW,0*2C
但程序接收时总是这样收到的
!Fox,1,1,,B,16:@uW8P018Vk;bDal6meB7004qp
,0*78
!Fox,1,1,,B,169?tr8P008Vk7
@Dai0mdOw20HDW,0*2C本来两次就收到了,但现在被分成了四条, 数据合并后是正确的,如何作到分两次就接收全..程序是采用异步方式
/// <summary>
/// 开启了异步监听接口
/// </summary>
void Run()
{ IAsyncResult ar = localSocket.BeginReceive(m.receive_buf_bytes, 0, len_receive_buf, SocketFlags.None, new AsyncCallback(CallReceive), this);
}
void CallReceive(IAsyncResult ar)
{
//分析数据
........(省略)
//继续接收
Run();
}
!Fox,1,1,,B,16:@uW8P018Vk;bDal6meB7004qp,0*78
!Fox,1,1,,B,169?tr8P008Vk7@Dai0mdOw20HDW,0*2C
但程序接收时总是这样收到的
!Fox,1,1,,B,16:@uW8P018Vk;bDal6meB7004qp
,0*78
!Fox,1,1,,B,169?tr8P008Vk7
@Dai0mdOw20HDW,0*2C本来两次就收到了,但现在被分成了四条, 数据合并后是正确的,如何作到分两次就接收全..程序是采用异步方式
/// <summary>
/// 开启了异步监听接口
/// </summary>
void Run()
{ IAsyncResult ar = localSocket.BeginReceive(m.receive_buf_bytes, 0, len_receive_buf, SocketFlags.None, new AsyncCallback(CallReceive), this);
}
void CallReceive(IAsyncResult ar)
{
//分析数据
........(省略)
//继续接收
Run();
}
解决方案 »
- 一个c#中的正则表达式匹配小问题
- 如何快速读取网络上mac地址!
- 谁能给个可用的htmltextbox
- 关于DataSet问题,紧急求助!
- 关于三层结构的疑惑
- 放在 dataset 中的数据 当再次填充的时候是否自动把原来的清空
- C#登陆界面登陆的问题
- 我想做一个html验证,就像类似QQ注册那样的效果!
- TreeView问题:未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中。其他信息: 无法访问名为“Tr
- 100分一个很简单的数据库连接问题
- 文革浏览器兼容性的问题
- 100分 connectionstring加密 dataset
如协议头: 01 0F 01 0F (最好是不会与数据混的)
包大小 方便后面收到,没到到这么多就接着收,直到完整包为止。
包内容 !Fox,1,1,,B,16:@uW8P018Vk;bDal6meB7004qp,0*78
结束标志、校验等(可有可无)