我是套接字编程的新手:
是否可以在Java Socket上显式设置源端口?
我正在开发一个客户端/服务器应用程序,客户端可能会在几个端口上侦听来自服务器的回复.如果我可以在初始化Socket时在客户端设置此回复端口,那将是很好的,这样服务器就能够确定在另一端回复哪个端口.
它通常是这样的:
首先,服务器在众所周知的端口上打开ServerSocket并等待输入.
同时,客户端打开一个(客户端)Socket,其中包含服务器主机名和这个众所周知的端口地址.它向服务器发送请求消息以初始化通信会话.
服务器接收消息,生成一个工作线程,该线程在另一个端口上打开另一个ServerSocket,服务器发送一个响应,它告诉客户端这个端口号.
现在,客户端关闭实际连接并创建一个新的Socket,现在使用他刚刚被告知的端口号.
这样,服务器一次可以处理多个客户端,因为每个客户端都获得了他自己的"连接"(端口).