указание источника и порта назначения на сокете - PullRequest
1 голос
/ 06 июня 2011

Я создаю сокет для связи по протоколу TCP и хотел бы знать, как указать исходный порт.

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

Ответы [ 4 ]

1 голос
/ 08 июня 2011

После создания нового сокета, наберите bind() с номером локального порта, который вы хотите использовать, затем подключитесь к удаленному хосту.

@ EJP правильно, хотя. Не делайте этого легкомысленно, так как вы можете оказаться не в состоянии создать сокет, если что-то еще использует этот порт или даже если ваша программа недавно использовала его и закрыла.

Если это не работает, вам, возможно, придется взглянуть на библиотеку, которую вы используете.

0 голосов
/ 06 июня 2011

Сокет имеет несколько конструкторов. Попробуйте это один

0 голосов
/ 06 июня 2011

Вы должны использовать InetSocketAddress, объявленный в пакете java.net. Самый простой способ его использования:

InetSocketAddress (хост, порт)), что-то вроде этого:

Socket socket = new Socket();
socket.connect(new InetSocketAddress("http://myserver.com", 80));

Которые подключаются к веб-серверу, прослушивающему порт 80 на myserver.com.

0 голосов
/ 06 июня 2011

С Документ :

  Socket(InetAddress address, int port)

Создает потоковый сокет и подключает его к указанному порту номер по указанному IP-адресу.

Ваш клиентский порт будет назначен автоматически. Вам не нужно беспокоиться об этом. Вам просто нужно указать серверный порт, к которому вы подключаетесь. Ознакомьтесь с учебником по сокетам Oracle и, в частности, с разделом по написанию клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...