char p[2048];
nLeft=2048;while(nLeft>0)
{
ret=send(sock,p,nLeft);
.....
nLeft-=ret;
}但是WSASend呢? 怎么做。
难道也是照猫画虎?char p1[2];
char p2[64];
char p3[2];
int iLefts[3];
int iSends[3];
sends[0]=2;sends[0]=64;sends[3]=2;
while (iLeft[0]>0 || iLeft[1]>0 || iLeft[2]>0)
{
WSASend(sock,wsabuffer,3,iSends...);
iLeft[0]-=iSends[0];
iLeft[1]-=iSends[1];
iLeft[2]-=iSends[2];
}是这样吗????
nLeft=2048;while(nLeft>0)
{
ret=send(sock,p,nLeft);
.....
nLeft-=ret;
}但是WSASend呢? 怎么做。
难道也是照猫画虎?char p1[2];
char p2[64];
char p3[2];
int iLefts[3];
int iSends[3];
sends[0]=2;sends[0]=64;sends[3]=2;
while (iLeft[0]>0 || iLeft[1]>0 || iLeft[2]>0)
{
WSASend(sock,wsabuffer,3,iSends...);
iLeft[0]-=iSends[0];
iLeft[1]-=iSends[1];
iLeft[2]-=iSends[2];
}是这样吗????
解决方案 »
- 有谁知道,以.bat方式启动一个exe后,哪个函数可以获得.bat所在路径的名称。注意是.bat所在路径,不是exe所在路径。在线等
- 子线程同步,会不会阻塞主线程?
- API创建按钮如何改变显示的字体?
- 弱弱地问一下
- 请问一下各位,有关VC开发MFC中,直接可以用C/C++的<string>和string.h中的函数,为什么呢?
- 郁闷!!!bmp转jpg,帮忙!!!
- 求一个完整"读写"MP3的ID3信息(包括ID3 v1/v2的文字信息)的类
- 喜欢用API而不用MFC的过来一下好不好?
- 请问如何得到USB读卡器/U盘的盘符?
- 怎样才能编程连接PostgreSQL数据库?请高手指教
- 想问一下
- 菜鸟初来报到,恭喜大家新年快乐
不用人工检测是否WSASend的第4个参数中回写的发送的字节数?
只有等待WSAWaitForMultipleEvents或者完成端口的返回事件就可以了?那这第4个参数有什么作用?
WSAGetLastError() 来判断是否系统正在发送, 或者发送失败了.如果 WSAGetLastError() == WSA_IO_PENDING 的话, 表示正在发送当中. 就需要上面说的那样等待事件通知
发送成功的话, 第4个参数表示发送的字节数
异步send是需要检测是否完全发送完毕了。WSASend是不是不需要检测是不是发了一部分,只需要调用一次WSASend,就可以放弃这几个缓冲的数据了?
发送如果没有完成, 第4个参数不能判断发送的字节数简单的讲,如果WSASend 返回0 ,就是发送成功, 第4个参数就是发送的字节数.不然, 就是还没有成功, 系统还在发送, 那你就等待事件通知吧