当一个TCP连接建立起来后,Server是怎么知道Client端有数据过来了?

flying_fox0 2003-08-19 11:21:51
当一个TCP连接建立起来后,Server是怎么知道Client端有数据过来了?
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kunjun_oy 2003-08-27
  • 打赏
  • 举报
回复
如果是阻塞端口,recv会解除阻塞。
如果是非阻塞端口,用事件方式,CAsyncSocket的OnReceive()就行。
bborn 2003-08-19
  • 打赏
  • 举报
回复
监听

server端不停的 或者定时的监听
football 2003-08-19
  • 打赏
  • 举报
回复
如果在DOS下用阻塞的socket,那么先准备接受数据,直到客户端有数据过来,才继续其他事情,或用select设置一个时间,在指定的时间内客户端没有数据过来,就放弃接受,继续其他事情。
在windows下写socket程序,用wsaasyncselect函数就可以监听自己想知道的事件,FD_READ,FD_WRITE,FD_CONNECT,FD_CLOSE,FD_ACCEPT等事件。
egyptcaesar 2003-08-19
  • 打赏
  • 举报
回复
Win32 SDK:

WSAAsyncSelect(
SOCKET s,
HWND hWnd, // 接受信息窗口
unsigned int wMsg, // 定义的Message (#define WM_HAVEDATA WM_USER+1
FD_READ);

kof99th 2003-08-19
  • 打赏
  • 举报
回复
自己查询(select)
数据到达时系统发消息;
...............event;
完成端口等。

18,355

社区成员

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

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