我对套接字编程相当新颖 - 所以这可能是一个简单的问题,但我真的想澄清。在服务器上使用不同的端口号
我有一个多客户端到单个服务器程序:个人客户端发送消息到服务器处理它们,然后将它传递到目的地,即服务器是中介。
在服务器端,每个客户端都有一个线程用于侦听来自客户端的消息(它将被放置在缓冲区中)。目前所有的客户端都发送消息到同一个端口(据我所知)。
我正在考虑设置另一个线程,服务器将在其上传输消息之前处理这些消息。使用服务器上的另一个端口发送这些消息是否合理?
我不是说这是一个讨论,但我不知道什么是常见或更多的逻辑做 - 任何建议?
在客户端,我计划让它有一个线程用于发送消息到服务器,另一个线程用于接收。请让我知道是否需要其他信息!
编辑
目前,它是一个1-服务器与多(现在几十,几百更高版本)-client程序 - 我似乎有客户从我的服务器接收邮件的问题(我因此我认为使用相同的端口可能会成为问题),但我会再次尝试使用相同的端口并查看。我认为这可能是收到端口太忙而不能发送消息。
我假设同一台服务器向客户端发送和接收消息,如果是这样,那么你可能会使用相同的端口。我看不出为什么。否则,对于多个服务器,使用两个端口可能是明智的。也许以后出于故障排除的原因。 – pandoragami 2013-03-06 08:20:49
你在使用什么操作系统?在Linux上有'select'系统调用,它可以用来几乎完全摆脱线程。服务器周期将如下所示:'select'为您提供有关描述符(套接字)的信息,可以为您提供数据。您循环这些套接字并处理数据(接受连接/生成响应),然后再重复一遍。 – 2013-03-06 08:25:31
该计划的确切用意是什么?客户端 - 服务器程序的范围可以从1client-1server到1000clients-100servers,每种服务器都有不同的体系结构以满足不同的需求。 – user1952500 2013-03-06 08:25:34