HPSocket4C.dll 发送卡主了
服务器配置:4核8G 2003系统
宽带:100M双线
服务器类型:TCP
在线人数:2000
主要用途是每2秒群发给2000个在线用户 服务器在线人数在500的时候还很正常,但是人数一多就出现发送直接不返回了 程序保证没问题,我知道怪兽肯定也没问题 就是不知道是不是设置问题了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
是否在通信线程中处理过多业务逻辑,导致
通信线程被占满阻塞?。
嗯,解决了就好,但默认就是“SP_PACK”(打包策略)啊
估计你的问题是:
你用的timer吧,要置忙标志,本次过程没运行完时,禁止下次timer启动此过程
问题已解决,分享下
其实只要设置服务器发送方式为SP_SAFE(安全策略)就行了,以前我设置的是SP_DIRECT(直接策略)
(发送策略通过 SetSendPolicy(enSendPolicy) 方法进行设置)
SP_PACK :打包策略(默认)
尽量把多个发送操作的数据组合在一起发送,增加传输效率
SP_SAFE :安全策略
尽量把多个发送操作的数据组合在一起发送,并尽量避免缓冲区溢出
SP_DIRECT :直接策略
对每一个发送操作都直接投递,适用于负载不高但要求实时性较高的场合
但我只是测试了2200多个客户端同时连接,没发送
这个问题的确很是苦恼。。。
不是卡,是调用发送函数 直接导致不返回了 几遍2个小时后也不会返回 哎 也不知道哪出了问题
对了 你一共设置了哪几个参数?能否告知我下?万分感谢!
我测试了2200多个连接,没问题,不卡
额,理论上支持上万用户的 但是我的实际应用不行(我只是说我)
啊,才2000个就卡住了?想测试数万用户连接行不行呢,但我这服务器没法测试超多连接的问题,因为没那么多客户端啊。