各位大哥,我怎么才能知道send()函数已经将数据发送出去了? 各位大哥,我怎么才能知道send()函数已经将数据发送出去了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不太清楚,帮你up吧。send成功返回仅仅表示数据已写入本机的发送缓冲区。如果要确切地知道,大概需要深入底层了吧?不知道你为什么一定要确切知道,通常只要send成功返回了,就不太会有问题了,再有问题,更可能是程序其它方面的问题,或者接受方的问题。 如果你用的是CAsyncSocket派生,那么它不支持阻塞,发送不成功一般不会成功返回;如果是CSocket,你在Connect或是Accept后面用检错函数检查一下,如果没问题,一般是可以Send成功的。 int ErrorCode=send(....);if (ErrorCode==SOCKET_ERROR) printf("\nSend Error:%d\n",GetLastError()); 你是什么意思,是不是说数据已经到了对方缓存里,我的方法是设置发送缓冲区大小为0,send返回多少个字节就表示多少个字节已经到了对方缓存里 ping 127.0.0.0 有错误,怎么办 请教我想保存png图片 大家帮我解释下这句代码啊? 请问怎样让TreeCtrl多个CheckBox被选中 插入到 Cimaglist 中的位图的大小问题 从ip控件获取ip地址用那个函数来着?? MSDN帮助中的一个问题 edit1得到focus,现在想在button1的click事件中为edit1赋值,但是不能触发edit1的killfocus事件! 如何实现像VC++启动时先弹出一个有VC logo的画面,然后画面消失,再弹出对话框的功能? dll中new和delete 请问在何处可买到正版VC++ 6.0 求救!!!!!
send成功返回仅仅表示数据已写入本机的发送缓冲区。如果要确切地知道,大概需要深入底层了吧?
不知道你为什么一定要确切知道,通常只要send成功返回了,就不太会有问题了,再有问题,更可能是程序其它方面的问题,或者接受方的问题。
如果是CSocket,你在Connect或是Accept后面用检错函数检查一下,如果没问题,一般是可以Send成功的。
if (ErrorCode==SOCKET_ERROR) printf("\nSend Error:%d\n",GetLastError());