日期:2014-05-16  浏览次数:20658 次

请教socket编程中服务器和客户端并存的问题!
大家好!小弟现在用到socket通讯,在多台机器之间传递信息,关键是机器的角色决定是多级的,比如A下面有B,B下面有C这样有上下级的关系,A对B是server,B是client;B对C是server,C是client,C要与A通讯需要经过B,即C把信息传给B的server,然后由B的client传递给A。
我想用多线程实现B上的Socket的server和client,是不是正确?有高人说这种方式不对,不知道还有什么好的方法来实现B上的服务器和客户端并存的问题?
BTW:不知道哪位有tcp/ip编程的网络服务器客户端示例?就是不用socket的,我在网上搜索这方面的资料很少,有这方面的资料也可以,如果有的话,请发我的email:gauchy@163.com,不胜感激!
谢谢!

------解决方案--------------------
开啥玩笑,这点儿小事还要两个进程?如果不需要处理大量客户端,服务器一个连接一个线程即可.
------解决方案--------------------
把所有网络服务相关的程序写在一个程序里,用一个进程,这样做的好处主要是减少了进程通信的开销,用个全局缓冲区就能实现消息的转发。但是坏处是增加了程序的内在复杂度,不利于程序的扩充和修改,一旦需求有什么变化,就要对整个程序进行修改,不符合软工的理念;如果弄成2个进程,用内存映射之类手段的来解决进程之间的共享,虽然可能降低了一些效率,但是还是可以带来其他方面的收益。
孰是孰非,楼主自己斟酌。