社区
网络编程
帖子详情
tcp客户端连接多个服务器的问题
一片维C
2014-12-19 01:26:51
我使用winsock做tcp客户端软件,我的软件需要连接多个服务器,一个线程建立一个连接,连接同一个服务器时,用两个线程同时向该服务器发送或接收文件时,毫无问题。但是当连接不同ip的两个服务器时,软件向这两服务器发送文件时,其中一个就会卡,甚至连接会断开!怎么办,怎么处理呢?还有得救不,求帮忙,感激不尽!
...全文
269
5
打赏
收藏
tcp客户端连接多个服务器的问题
我使用winsock做tcp客户端软件,我的软件需要连接多个服务器,一个线程建立一个连接,连接同一个服务器时,用两个线程同时向该服务器发送或接收文件时,毫无问题。但是当连接不同ip的两个服务器时,软件向这两服务器发送文件时,其中一个就会卡,甚至连接会断开!怎么办,怎么处理呢?还有得救不,求帮忙,感激不尽!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一片维C
2014-12-19
打赏
举报
回复
开始设计时我也认为线程是独立的,对socket没啥影响,就做成这样了,也没考虑更多问题。 我用的线程都没有用到锁,也没用到会阻塞的全局变量。 另外,我也试过这两种情况: 1、把我的软件打开两次,我觉得这样应该和多进程差不多,然后分别连接不同的两个服务器,情况也差不多,总有一个会卡。 2、我也试过在线程发送数据的循环中加入睡眠,还是不能解决问题。 3、向两个不同IP的服务器以100ms或1s 的的频率发送命令时,总是只有一个能实时及时发送出去,另一个都是在缓存堆了几十条命令才一次发送,甚至断开 不知道是数据发的不够快,都阻塞在底层的缓冲区里还是线程的问题。
boylafong
2014-12-19
打赏
举报
回复
多个线程的时候会出现优先级的问题,我曾经也出现过两个线程起来,一个把另一个给卡住的问题。 出现连续长时间发送文件时候,还是建议用多进程
oyljerry
2014-12-19
打赏
举报
回复
先看线程是否有死锁等,互相影响了
阿源是少年
2014-12-19
打赏
举报
回复
按理每个线程的socket是独立的,不会有任何干扰的,是否你使用了全局变量或是在线程里使用了CSocket对象?
xian_wwq
2014-12-19
打赏
举报
回复
让客户端的功能尽可能单一,先实现所需的功能。 多线程处理不好, 可以退一步,先多进程, 不同进程连接不同的服务器。
c++高并发商业级游戏
服务器
干货【
客户端
ue4和unity3d】
1、本课程是一个干货课程,主要讲解如何封装
服务器
底层,使用
Tcp
/ip长
连接
,IDE使用vs2019 c++开发以及使用c++11的一些标准,跨平台windows和linux,
服务器
性能高效,单
服务器
压力测试上万无压力,
服务器
框架是经历过上线产品的验证,框架简单明了,不熟悉底层封装的人,半个小时就能完全掌握
服务器
框架上手写业务逻辑。2、本课程是一个底层
服务器
框架教程,主要是教会学员在windows或linux下如何封装一个高效的,避免踩坑的商业级框架,
服务器
底层使用初始化即开辟内存的技术,使用内存池,
服务器
运行期间内存不会溢出,非常稳定,同时
服务器
使用自定义哈希hashContainer,在处理新的
连接
,新的数据,新的封包,以及解包,发包,粘包的过程,哈希容器性能非常高效,增、删、查、改永远不会随着
连接
人数的上升而降低性能,增、删、查、改的复杂度永远都是恒定的O(1)。3、
服务器
底层封装没有使用任何第三方网络库以及任何第三方插件,自由度非常的高,出了任何BUG,你都有办法去修改,查找
问题
也非常方便,在windows下使用iocp,linux下使用epoll.4、讲解c++纯
客户端
,主要用于
服务器
之间通信,也就是说你想搭建多层结构的
服务器
,
服务器
与
服务器
之间使用socket通信。还可以使用c++
客户端
做压力测试,开辟多线程
连接
服务器
,教程提供了压力测试,学员可以自己做压力测试
服务器
性能。5、赠送ue4和unity3d通信底层框架以及多人交互demo,登录,注册,玩家离开,同步主要是教会学员
服务器
与
客户端
如何交互。6、赠送c++
连接
mysql数据库框架demo,登录,注册,玩家离开数据持久化.7、
服务器
教程使用自定义通信协议,同时也支持protobuf,选择权在开发者自己手里,想用什么协议都可以,自由度高。8、
服务器
教程使用手动敲代码逐句讲解的方式开展教学课程。非喜勿喷,谢谢大家。9、
服务器
教程提供源码,大家可以在平台提供的地址下载或者联系我,
服务器
使用c++11部分标准,std::thread,条件变量,线程锁,智能指针等,需要学员具备一定c++知识,购买前请慎重考虑。
Socket
TCP
客户端
连接
多个
服务器
方法:
连接
多个
服务器
只需要将
连接
服务器
的操作再做几次,原理相同,
客户端
接收线程每
连接
一个
服务器
都要再开启一个
【
TCP
通信】多
客户端
连接
一个
服务器
端总结
Windows下
TCP
通信,
多个
客户端
连接
服务器
端。 一、
服务器
端流程实现如下: 1、通过socket函数,创建基于流式类型的socket,可名为serverSocket; 2、调用bind函数,绑定本地的监听端口号和本地IP地址; 3、调用listen函数,开始监听
客户端
请求。其中该函数第二个参数指定了最大
连接
客户端
数目; 4、通过调用AfxBeginThread(ThreadFun, 0),实现创建线程处理监听后
客户端
请求; 5、关闭serverSocket; 如上流程中,通过创建线.
Qt
TCP
/IP(多
客户端
连接
服务器
)
多个
客户端
同时登陆的聊天室示例
Qt
TCP
/IP(多
客户端
连接
服务器
)
多个
客户端
同时登陆的聊天室示例
qt
客户端
连接
服务器
不响应,qt判断
tcp
客户端
是否
连接
服务器
qt判断
tcp
客户端
是否
连接
服务器
内容精选换一换GaussDB(DWS) 支持SSL认证方式的
连接
,以加密GaussDB(DWS)
客户端
与数据库之间传输的数据。SSL
连接
方式的安全性高于普通模式,集群默认开启SSL功能允许来自
客户端
的SSL
连接
或非SSL
连接
,从安全性考虑,建议用户在
客户端
使用SSL
连接
方式。如果要强制使用SSL
连接
,需要为集群开启
服务器
端是否强制使用SSL
连接
。在集华为云帮助...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章