用select或者poll或者epoll吧..还有一个类似的
功能就是,等待事件发生,比如某个socket(或者句柄)有了数据什么的,select可以判断出来,并且返回,让你知道哪个socket出现事情了。他监听的句柄范围中没事情发生时,进程或者线程就阻塞(超时时间可以设置).
这样你就可以在select知道哪个出现数据之后,再去操作对应的socket
你说相互通信,干吗还要中转,自己用ip:port就好了阿...
要是大家都对服务器有某个请求,服务器端就用select吧..如果你处理的链接数很大,就用poll或者epoll吧,效果更好....剩下的自己去查资料...
1.可能是在获取客户端的ip和端口时,处理出现问题,导致无法正确发送到客户端。2.客户端是否使用固定的端口来接收服务器信息,或服务器是否正确发送到客户端的相应的端口。
3.通过上面分析,最大可能是在处理端口出现问题,请重新检查。
4.实在不行,最好使用抛出异常方法来捕获错误消息,或是通过一步一步调试分析数据发送过程。
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。(1)不同的使用费用
Linux是一项开源的项目,所以编程爱好者可以免费使用它而Windows则是需要购买的一款系统。
(2)适用对象不同
Linux适用于企业服务器系统架构,而Windows则适用于公众使用。
(3)操作方式不同
Windows是面向普及的,所以它的操作更符合普通人的操作习惯,其中大部分是通过界面操作实现的。另一方面,在许多情况下,Linux需要从命令行操作。
(4)支持软件不同
Windows由于使用人数较多,所以支持Windows的软件在数量和质量上都比Linux有优势。
Linux平台只有开发者维护,缺少资金的大量支持,所以软件方面的数量和质量比较缺乏。
(5)不同的文件格式
Windows操作系统的内核是NT,Linux是shell。
(6)安全性不同
Windows系统常常受攻击目标,有必要安装一些安全保护软件来保护计算机的安全。Linux比Windows安全得多,使用Linux根本不需要额外的安全软件。
(7)程序可移植性不同
Windows的程序是不可移植的,该程序基本上与Linux不兼容。Linux程序是可移植的,不仅在不同的Linux之间,而且在Windows上也是如此。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)