社区
网络编程
帖子详情
完成端口怎么客户端只能收到1次服务器的回应?
djfu
2009-03-03 03:32:18
服务端采用完成端口,
在收到POST_RECV的操作类型以后,分析收到的客户端数据,并马上调用send返回结果给客户端,然后再投递一个WSARecv操作。
结果,客户端只在第一次发送数据到服务端,可以正确收到服务器的回应。
下面再发一次,尽管服务器收到了,也调用send发送数据给客户端了,
但是客户端就是收不到数据,recv(...)停在那里了。
这是怎么回事?
...全文
120
4
打赏
收藏
完成端口怎么客户端只能收到1次服务器的回应?
服务端采用完成端口, 在收到POST_RECV的操作类型以后,分析收到的客户端数据,并马上调用send返回结果给客户端,然后再投递一个WSARecv操作。 结果,客户端只在第一次发送数据到服务端,可以正确收到服务器的回应。 下面再发一次,尽管服务器收到了,也调用send发送数据给客户端了, 但是客户端就是收不到数据,recv(...)停在那里了。 这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
djfu
2009-03-06
打赏
举报
回复
原因找到了,我在第一次投递WSARecv之前,清除了PER_IO_OPERATION_DATA,这在第一次是正确的。
但是如果第二次再投递WSARecv之前还这么做的话,就清空了历史记录的重要信息,
例如:该完成端口对应的socket套接字句柄。
socket套接字句柄都不对,发送数据自然就失败了。
nieoding
2009-03-04
打赏
举报
回复
是不是粘包,可以把客户端接收到的信息trace出来看看
IONPhantom
2009-03-04
打赏
举报
回复
服务器发送send之后有没有察看是否发送正确,也就是send是否正常返回?先确定服务器的send返回正常再查客户端
百事烟
2009-03-03
打赏
举报
回复
这个问题不懂,up
今天没回贴,保证每天至少回一贴,嘎嘎,贫农啊没办法!!
客户端
偶现没有
收到
服务器
响应问题的排查
客户端
偶现没有
收到
服务器
响应问题的排查问题描述问题排查总结 问题描述
客户端
偶现收不到
服务器
端返回的响应包。 问题排查 当出现
服务器
端收不到
客户端
的请求包,或者
客户端
收不到
服务器
端的响应包时,第一反应就是是抓包,先确定是否存在丢包的可能。 输入命令:tcpdump -i eth0 src port 9983 -XX抓取我们
服务器
9983
端口
发出去的包,结果如下: 其中红色圈出来的部分就是应该返回的响应包,确定
服务器
端没有丢包。同样的,使用wireshark抓来自
服务器
端的包,结果如下:
客户端
也
收到
了服务
客户端
不需要绑定
端口
号的原因
因为
服务器
是时时在监听有没有
客户端
的连接,如果
服务器
不绑定IP和
端口
的话,
客户端
上线的时候怎么连到
服务器
呢,所以
服务器
要绑定IP和
端口
面
客户端
就不需要了,
客户端
上线是主动向
服务器
发出请求的,因为
服务器
已经绑定了IP和
端口
,所以
客户端
上线的就向这个IP和
端口
发出请求。 这时因为客户开始发数据了(发上线请求),系统就给
客户端
分配一个随机
端口
,这个
端口
和
客户端
的IP会随着上线请求一起发给
服务器
,服务
收到
上线请求后就可以从中获起发此请求的客户的IP和
端口
,接下来
服务器
就可以利用获起的IP和
端口
给
客户端
回应
消息了.总
Linux-并发
回应
服务器
与
客户端
设计
一.需求与开发环境 利用Linux系统中的socket APIs实现一对
服务器
与
客户端
程序,开发工具为VS Code或其他Linux下代码编辑器,编译器为gcc,具体要求如下: 1.
客户端
用户在终端运行
客户端
程序,命令格式如下: $>./echoclient 以上命令格式中
服务器
IP地址不可省略(一般测试时为127.0.0.1);方括号中的重定向可以没有,当没有重定向文件时,用户键盘输入为
客户端
发送给
服务器
的数据来源,每当用户按下回车键时,此行输入会被发送至服务端,并在
客户端
回显(来自服务端的
回应
为什么在网络程序设计中
服务器
端必须使用bind函数来绑定IP地址和
端口
号,而
客户端
不需要使用bind函数来绑定IP地址和
端口
号呢?
Socket: 为什么
服务器
端只需要一个:
服务器
端口
客户端
需要:
服务器
端口
+
服务器
IP 因为
服务器
是时时在监听(Listen)有没有
客户端
的连接。如果
服务器
不绑定IP和
端口
的话(Bind),
客户端
上线的时候怎么连到
服务器
呢。所以
服务器
要绑定IP和
端口
,而
客户端
就不需要了。(注意:MFC中的Bind是在Create函数中自动调用的)
客户端
上线是主动向
服务器
发出请求的,因为服...
【c/c++】
完成
端口
服务器
中转实现两个
客户端
之间通信
完成
端口
的一个小程序。现实多个
客户端
和
服务器
来回的收发。写到后来有实现
客户端
之间的通讯时有点很困惑。蓝瘦了半天,想找例子都找不到==
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章