服务器端(s):
完成端口客户(c):
异步Socketc发出数据
for (i=0;i<10;i++)
send("aaa")由于c发出数据很快.所以服务器方收数据时会把几个send数据并成了一个收了过来.出现了数据粘连.请问在服务器方有什么办法可以得到c端的每个单的send来的数据呢?
比如上面的c 方的10次send,到s方也可以有10次通知数据到并且数据要完整呢?前题是不可以改到c方的程序.请高手指教
完成端口客户(c):
异步Socketc发出数据
for (i=0;i<10;i++)
send("aaa")由于c发出数据很快.所以服务器方收数据时会把几个send数据并成了一个收了过来.出现了数据粘连.请问在服务器方有什么办法可以得到c端的每个单的send来的数据呢?
比如上面的c 方的10次send,到s方也可以有10次通知数据到并且数据要完整呢?前题是不可以改到c方的程序.请高手指教
解决方案 »
- 求助 关于MFC文本输出的问题
- 大家来推荐Windows下好的进程/线程查看工具吧
- void CSocketSvr::OnAccept(int nErrorCode) 类函数内部操作CListCtrl
- 请教高手,在线等,基于CDHTMLDialog类的应用程序,如何动态改变页面上的图片?
- if(m_adodc.GetRecordset().GetEof==1)编译出错?在线等
- 在单文档中显示图像资源,为什么总是出错呢
- 小弟在线恭候,请懂delphi、vc的大侠解答
- 我使用CSocket里面的Receive函数接收消息,该怎么知道消息的大小?
- 请教各位高手!!!!!
- RichEdit如可编辑混合文档(如插入图片)?
- 如何根据按键的vk值获得该按键的名称
- 怎么才能做到,点击浏览器的一个链接,打开我自己的应用程序
char *buf=new char[3];
for(int i=0;i<10;i++)
{
recv(sockServer,buf,3,0);
此时就只从发送队列中拿出一次发送的3个aaa了
}
用TCP可以,我就经常从客户端发一个字符和一串控制命令过去,接受端可以区分
可还有其它方法吗?
这个方法如果在网络数据到达特别快特多时.因为我在收了一个指定长后要处理.这时是要用时间的.
有可能这个时间内到达数据过多.以至大于buffer产生数据的丢失.
可我并不了解这个.所以...........还请高手指教.用CreateEvent与WaitForSingleObject是否可行.怎样实现呢?还有其它方法吗?
接收端还datasize接收
至于加头,就是方便收多大的包。