在socket上指定源和目标端口

时间:2011-06-06 13:57:14

标签: java sockets tcp

我正在为TCP通信创建一个套接字,并想知道如何指定源端口。

Socket socket = new Socket();
socket.connect(dstAddress);

4 个答案:

答案 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服务器。