在服务器上使用不同的端口号

时间:2013-03-06 08:15:41

标签: c++ sockets client-server port server-side

我对套接字编程很新 - 所以这可能是一个简单的问题,但我真的想澄清一下。

我有一个多客户端到单个服务器程序:各个客户端将消息发送到处理它们的服务器,然后将其传递到目标,即服务器是中介。

在服务器端,每个客户端都有一个线程,用于“监听”来自客户端的消息(将放置在缓冲区中)。目前,所有客户端都在向同一个端口发送消息(据我所知)。

我正在考虑设置另一个线程,服务器将在传输之前处理这些消息。使用服务器上的另一个端口发送这些消息是否有意义?

我不是说这是一个讨论,但我不知道什么是共同或更合乎逻辑的做什么 - 任何建议?

在客户端,我计划让它有一个线程用于向服务器发送消息,另一个线程用于接收。如果需要任何其他信息,请告诉我们!

修改

目前它是一个1服务器到多个(几十个现在,几百个以后)的客户端程序 - 我似乎遇到了客户端从我的服务器接收消息的问题(我正在排除故障,所以我认为使用相同的端口可能是问题),但我会再次使用相同的端口尝试它,看看。我认为这可能是接收端口太忙而无法发送消息的问题。

1 个答案:

答案 0 :(得分:1)

  

目前所有客户端都在向同一个端口发送消息(据我所知)。

你的意思是什么'据我所知'?您必须知道是否在服务器上打开了多个端口。

  

使用服务器上的其他端口发送这些消息是否有意义?

不,不。如果您使用的是TCP,请将消息发送回同一个套接字。如果您正在使用UDP,则不需要多个UDP套接字,如果回复来自发送请求的相同ip:端口,它会简化客户端和应用程序协议。