专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++

TCP socket 编程解决方法

发布时间:2011-06-29 00:12:03 文章来源:www.iduyao.cn 采编人员:星星草
TCP socket 编程
现在有1个客户端,6个服务器同时服务于这个客户端。我用的是TCP的socket编程。
现在存在这样的问题,
  我的客户端创建了两个通信线程,A,B。当线程A与一台服务器通信过程中,线程B与另外的服务器通信,如果B获得有用消息,则B线程向第一个与它的A线程通信的服务器发送消息,停止通信。
  我测试服务器端的代码可以通过,但客户端的代码不对,如果我把A,B两个线程写在两个程序里,运行是可以的。为什么啊?是阻塞函数的原因?还是线程同步的原因,大家给点建议吧。

------解决方案--------------------
则B线程向第一个与它的A线程通信的服务器发送消息->是各自的socket还是单独的socket,两个线程是否是异步的?
------解决方案--------------------
既然“把A,B两个线程写在两个程序里,运行是可以的”就把A,B两个线程的工作分成两个进程完成呗。
多线程总是不如多进程来的简单、灵活、方便、可靠。
参考《Unix编程艺术》
------解决方案--------------------
换多进程对解决现在的问题有什么帮助么?没看出来。

B 在通信的时候,A 在等,还是在进行读写数据的过程?是要强制打断么?

如果 A 在等 B,那么用一个全局变量标志就可以了,A 只要反复确认这个标志是否设置,如果设置就自己退出。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: