データ (この場合) をクライアント/サーバーに送信する場合、同じポート番号を使用することは本当に問題になるのでしょうか? データを送信するときにどのポートを使用しているかは問題ではないため、私の推測ではノーです。(プロトコルは内部的にランダムにそれを提供します - これがアイデアですか?) 唯一のことは、保持する必要があります。ポートは、受信側のマシンで利用可能なものでなければなりません (システムによって予約されているため、1000 以上)。その受信者が何かを送り返すことを決定した場合、送信者に関する十分な情報が得られます。IP アドレス、ポート番号などです。私の知る限り、受け取ったパックにはそのすべての情報が含まれています。
以下は、私が上で述べたことのほんの一例です。
public class Server {
public static void main(String[] args) {
GameServer server = new GameSever(9822);
server.start();
InetAddress address = null;
int port = 7877;
try {
address = InetAddress.getByName("192.168.0.2");
} catch (UnknownHostException e) {
e.printStackTrace();
}
server.send(new byte[] { 1, 2, 3 }, address, port);
}
}