我正在创建一个多线程应用程序,其中服务器应同时处理多个客户端请求。此外,客户端应该与其他客户端通信。服务器将保存各种客户端的端口地址,因此每个客户端都必须联系服务器以了解其对等方的端口地址。
我对程序的理解:
client.java(有一个套接字和一个服务器套接字)
socket - 用于与服务器交谈以注册其 serversocket 编号,这将有助于其他对等方进行识别。(注意:与服务器套接字不同,我们可能不得不在创建时提及端口,套接字# 由操作系统唯一分配,因此我们无需担心这一点。)
serversocket - 用于与其他对等方交谈,其他对等方应该知道此号码。
服务器.java
serversocket - 用于与各种客户端通信
现在,我有两个程序 server.java 和 client.java。当然,为了拥有多个客户端,我会多次运行 client.java。以下是我的问题:
我的 client.java 会有两个端口吗?一个套接字与服务器对话,一个服务器套接字监听其他客户端?如果是这样,我应该将端口号作为参数传递给 client.java 以便它可以用作每个客户端实例的唯一服务器套接字#?
请帮帮我!