我正在为TCP通信创建一个套接字,并想知道如何指定源端口。
Socket socket = new Socket();
socket.connect(dstAddress);
答案 0 :(得分:1)
创建新套接字后,使用您要使用的本地端口号呼叫bind()
,然后连接到远程主机。
@EJP是正确的。不要轻易做到这一点,因为如果其他东西正在使用该端口,或者即使您的程序最近使用过它并关闭它,您最终也无法创建套接字。
如果它不起作用,您可能需要查看您正在使用的库。
答案 1 :(得分:0)
来自the doc:
Socket(InetAddress address, int port)
创建流套接字并将其连接到指定的端口 指定IP地址的号码。
您的客户端端口将自动分配。你不必担心。您只需指定要连接的服务器端端口即可。查看the Oracle socket tutorial,特别是关于编写客户端的部分。
答案 2 :(得分:0)
Socket有多个构造函数。试试this一个
答案 3 :(得分:-1)
您必须使用在java.net包中声明的InetSocketAddress。最简单的使用方法是:
InetSocketAddress(host,port)),如下所示:
Socket socket = new Socket();
socket.connect(new InetSocketAddress("http://myserver.com", 80));
连接到在myserver.com上监听端口80的Web服务器。