社区
windows网络管理与配置
帖子详情
关于SOCKET发送不出数据的问题
zzkk3025
2009-04-12 10:14:44
有个C/S1/S2 的应用系统, C 为一个客户端, S1 为一个中间转发数据的程序,S2 为处理业务的主程序。现在遇到一个较奇怪的现象, C(客户端) 程序在部分XP机器上运行正常,部分XP机器上出现频繁中断的情况,经过测试,C(客户端)在中断的XP机器上发送到一定的数据(大约5-6K)就发送不出去, S1程序未检测到 C(客户端)程序的任何异常。 C(客户端)在 WIN2003 上运行一切正常。
...全文
175
5
打赏
收藏
关于SOCKET发送不出数据的问题
有个C/S1/S2 的应用系统, C 为一个客户端, S1 为一个中间转发数据的程序,S2 为处理业务的主程序。现在遇到一个较奇怪的现象, C(客户端) 程序在部分XP机器上运行正常,部分XP机器上出现频繁中断的情况,经过测试,C(客户端)在中断的XP机器上发送到一定的数据(大约5-6K)就发送不出去, S1程序未检测到 C(客户端)程序的任何异常。 C(客户端)在 WIN2003 上运行一切正常。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lightbear
2009-04-20
打赏
举报
回复
gz
DDGG
2009-04-20
打赏
举报
回复
是用的什么模型?Select?IOCP?一个连接还是多个连接?
“S1程序未检测到 C(客户端)程序的任何异常”是指没有检测到客户端断线吗?
cnzdgs
2009-04-19
打赏
举报
回复
程序是你自己写的?编程方面的问题应该发到相应的开发语言版块。是发送失败还是一直阻塞或者其它情况?如果是发送失败,错误码是什么?
zzkk3025
2009-04-13
打赏
举报
回复
谢谢楼上的,现在做了以下变更,控制发送的数据包和频率,每次发送 16个字符 ,每秒发送 10次, 这样的程序效率很低,但这种情况下程序正常了,怀疑XP是那个地方有啥限制,XP 为 雨林木风 WWW.YLMF.COM 76481-OEM-0011903-01811 Ghost XP SP3 装机版 YN9.9 那位大侠遇见过这种情况?
flyfranker
2009-04-13
打赏
举报
回复
寻找出现频繁中断的XP机器配置的共同点,再与运行正常的XP机器配置的共同点相比较,例如防火墙是否打开?杀毒软件是否为同一型号等,应该不难找到问题原因。
Socket
完整
发送
和高效接受
数据
流
本文围绕
Socket
完整
发送
和高效接收
数据
流展开。
发送
数据
时,Send可能只发部分,可通过写入队列解决,还需加锁避免线程冲突;接收
数据
方面,使用读写索引代替Copy,ByteArray结构可自动扩展,能避免效率
问题
和缓冲区溢出,还介绍了其读写功能及测试应用。
Raw
Socket
接收和
发送
数据
包
本文详细介绍了Linux中使用RAW
Socket
接收和
发送
数据
包的过程,包括网络层IP
数据
包和
数据
链路层
数据
帧的处理。通过三种方式创建RAW
Socket
,分别是针对网络层IP
数据
包、
数据
链路层
数据
帧以及过时的方法。着重讲解了SOCK_RAW如何捕获
数据
包,以及在不同层次的过滤和处理。同时,提供了示例代码展示如何使用RAW
Socket
进行
数据
包的
发送
和接收,特别适合于网络监控和分析任务。
socket
发送
接收16进制
数据
本文详细介绍了一种智能柜管理系统的实现方式,重点讲解了如何通过
Socket
进行
数据
发送
与接收的转换逻辑。从
数据
的十六进制转换到ANSI码,再到业务
数据
解析,包括箱门状态的判断,提供了完整的代码示例。
socket
之send与
发送
缓冲区大小的关系
当使用send函数
发送
的
数据
长度超过
socket
发送
缓冲区大小时,系统会自动分次
发送
。在Windows和Linux上,无论是阻塞还是非阻塞模式,send都会将大
数据
分帧进行传输。例如,
发送
3K
数据
到缓冲区大小为2K的
socket
,在不同系统中表现为分三次
发送
,每次
发送
的字节数接近缓冲区大小。
异步
SOCKET
编程-
发送
和接收
数据
[转] 异步
SOCKET
编程-
发送
和接收
数据
[转]
本文详细介绍了异步
SOCKET
编程中
发送
和接收
数据
的过程。FD_READ事件表明
数据
可读,recv()函数用于接收
数据
,可能需要多次调用来获取完整
数据
包。而FD_WRITE事件在
发送
缓冲区有空位时触发,需循环调用send()直到
发送
缓冲区填满。文章还讨论了何时使用FD_WRITE事件,并提醒在不能一次性
发送
大量
数据
时,直接调用send()更好。
windows网络管理与配置
6,210
社区成员
60,283
社区内容
发帖
与我相关
我的任务
windows网络管理与配置
windows网络管理与配置
复制链接
扫一扫
分享
社区描述
windows网络管理与配置
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章