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

Using different port numbers on server

本文关键字:口号 服务器      更新时间:2023-10-16

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

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

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

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

我并不是说这是讨论,但我不知道什么是常见的或更合乎逻辑的-有什么建议吗?

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

编辑

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

目前所有的客户端都发送消息到相同的端口(据我所知)。

你说'as far as I can tell'是什么意思?您必须知道您是否在服务器上打开了多个端口。

使用服务器上的另一个端口发送这些消息有意义吗?

不,它没有。如果使用TCP,则通过相同的套接字发送消息。如果你使用UDP,你不需要一个以上的UDP套接字,它简化了客户端和应用程序协议,如果回复来自同一个ip:端口的请求被发送。