java客户端服务器应用程序-无法创建多个客户端

java客户端服务器应用程序-无法创建多个客户端,java,sockets,tcp,network-programming,Java,Sockets,Tcp,Network Programming,我正在创建一个多线程应用程序,服务器应该同时处理多个客户端请求。此外,客户机应与其他客户机通信。服务器将保存各种客户端的端口地址,因此每个客户端都必须联系服务器以了解其对等方的端口地址 我对课程的理解: java(有一个套接字和一个服务器套接字) socket-用于与服务器对话以注册其serversocket no,这将帮助其他对等方识别。(注意:与服务器套接字不同,我们在创建时可能必须提到端口,而套接字#是由操作系统唯一分配的,因此我们不需要担心这一点。) serversocket-用于与其他

我正在创建一个多线程应用程序,服务器应该同时处理多个客户端请求。此外,客户机应与其他客户机通信。服务器将保存各种客户端的端口地址,因此每个客户端都必须联系服务器以了解其对等方的端口地址

我对课程的理解:

java(有一个套接字和一个服务器套接字)

socket-用于与服务器对话以注册其serversocket no,这将帮助其他对等方识别。(注意:与服务器套接字不同,我们在创建时可能必须提到端口,而套接字#是由操作系统唯一分配的,因此我们不需要担心这一点。)

serversocket-用于与其他对等方通话,其他对等方应该知道该号码


server.java

serversocket-用于与各种客户端通信


现在,我有两个程序server.java和client.java。当然,为了拥有多个客户机,我将多次运行client.java。以下是我的问题:

我的client.java会有两个端口吗?一个用于与服务器对话的套接字和一个用于侦听其他客户端的服务器套接字? 如果是这样,我是否应该将端口号作为参数传递给client.java,以便它可以用作每个客户端实例的唯一服务器套接字


请帮帮我

是的,您可以将它们作为运行时参数传递,或者更好地让服务器为您决定,这样您就不必担心分配唯一的端口号


此外,我相信您必须传递客户端端口和ip,以便客户端相互通信,除非您的所有客户端都在同一台机器上。

我是在本地主机上这样做的。我必须在客户端程序中同时使用套接字和服务器套接字吗?我不能只使用一个serversocket吗?如果您希望每个客户机彼此通信,并且所有客户机都在同一台机器上或不同的机器上,那么您可以避免在客户机上使用服务器套接字。为此,您必须在服务器中实现将数据从一个客户端传递到另一个客户端的逻辑。不。与另一个客户端通信的客户端应该是对等的。服务器不应调节。服务器只向请求的对等方提供对等方的端口号。您的标题是什么意思?