CAsyncSocket 如果设置为阻塞模式?

gxsheng 2006-04-25 10:23:52
CAsyncSocket 如果设置为阻塞模式?
我查了MSDN,但说得不明白,望高手指教!
...全文
226 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
贵子潘 2006-04-26
  • 打赏
  • 举报
回复
CAsyncSocket是基于消息的,而消息要窗口来处理,所以...
gxsheng 2006-04-25
  • 打赏
  • 举报
回复
CAsyncSocket 只能在有窗口的程序中使用?
我选择建立MFC控制台程序时候,有“使用套接字”的选框啊?
所以我用了带MFC的控制台工程,难道这是不行的?
贵子潘 2006-04-25
  • 打赏
  • 举报
回复
你先判断一下返回的错误码是什么。
可能是你没有正确的建立CMySock对象
我看了下CAsyncSocket的说明,其中有这样的:
To use a CAsyncSocket object, call its constructor, then call the Create function to create the underlying socket handle (type SOCKET), except on accepted sockets

应该是你没有调用Create来创建一个socket,也就说上面所说的the underlying socket handle
gxsheng 2006-04-25
  • 打赏
  • 举报
回复
谢谢,但我这样写:
CMySock mySock ;
DWORD temp = 0x00000000 ;
mySock.IOCtl(FIONBIO,&temp) ;
mySock.Connect("127.0.0.1",33443) ;

CMySock 是直接从 CAsyncSocket 派生的;
似乎不能停在Connect这里,而立刻返回了。
我没开服务端,不会连接成功的,是否需要设置连接超时?
贵子潘 2006-04-25
  • 打赏
  • 举报
回复
The lpArgument parameter points at a DWORD, which is nonzero if nonblocking mode is to be enabled and zero if it is to be disabled

lpArgument 指向一个DWORD类型,如果lpArgument非零时,非阻塞模式激活;当lpArgument为零时,为阻塞模式
贵子潘 2006-04-25
  • 打赏
  • 举报
回复
看这个成员函数IOCtl
FIONBIO Enable or disable nonblocking mode on the socket

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧