小弟写了一个UDP通讯程序,出现如下的问题:
当客户端第一次登陆后,发送信息,两边都成功,当而服务器端不退出客户端退出,然后客户端重新登陆后,客户端发送信息到服务器,服务器端接收正常,之后服务器端将其发送到客户端,显示是发送成功,但从客户端跟踪的结果来看,客户端竟然是不执行FD_READ,而是执行了FD_WRITE,(我是用WSAAsyncSelect())而在FD_WRITE里调用recv函数却又调用失败,因而接收不了服务器端发送过来的信息。这是怎么回事?FD_WRITE 和FD_READ有什么区别?那位兄弟有兴趣的,留下E-MAIL,我发代码过去帮我看看!
当客户端第一次登陆后,发送信息,两边都成功,当而服务器端不退出客户端退出,然后客户端重新登陆后,客户端发送信息到服务器,服务器端接收正常,之后服务器端将其发送到客户端,显示是发送成功,但从客户端跟踪的结果来看,客户端竟然是不执行FD_READ,而是执行了FD_WRITE,(我是用WSAAsyncSelect())而在FD_WRITE里调用recv函数却又调用失败,因而接收不了服务器端发送过来的信息。这是怎么回事?FD_WRITE 和FD_READ有什么区别?那位兄弟有兴趣的,留下E-MAIL,我发代码过去帮我看看!
解决方案 »
- 有关cvcamshift
- ?????????求获得文件上次打开时间的函数(打开和访问不同)??????
- 我现在在EVC下建立了一个基于对话框的程序,但是想在里面添加菜单,不知道如何添加!
- 如何改变生成exe的图标
- 一直没能找到答案的经典问题:静态控件Static 怎么才能真正的透明显示?
- 新人求助:试用期工资被扣了一千,我该怎么办???我又没有签合同的???5555555555555!
- 字符串问题?
- 请问IP包格式中的协议字段是怎么定的? 怎么区分HTTP协议?
- ***高手请进,关于Edit/RichEdit的一个问题***
- 谁知道网上哪儿有电脑方面的中文和英文论文。
- 怎样对2003-5-18这样的日期进行比较?
- 出oracle中存储的blob字段后,图像不能正确显示问题?在线给分!
FD_READ 就是有数据接受 就调用 recv
1.When WSAAsyncSelect called, if a send or sendto is possible.
2.After connect or accept called, when connection established.
3.After send or sendto fail with WSAEWOULDBLOCK, when send or sendto are likely to succeed.
4.After bind on a connectionless socket. FD_WRITE may or may not occur at this time (implementation-dependent). In any case, a connectionless socket is always writeable immediately after a bind operation. FD_WRITE会在上面五种情况发生,我想你在连上服务端后肯定会有一次这样的事件的,而随后就会有FD_READ的。
然后用此来发送