Существуют ли разные порты для вывода и ввода? - PullRequest
0 голосов
/ 27 октября 2010

При отправке данных с использованием UDP необходимо указать порт назначения.

При отправке по TCP также должен быть указан порт источника.

Существуют ли разные порты для ввода ивыход?Например, если я укажу порт 1234, могу ли я использовать его как для ввода, так и для вывода, или я должен использовать разные порты для вывода и ввода?

РЕДАКТИРОВАТЬ: Чтобы уточнить мой вопрос: - Я отправляю данные из порта X. -Кто-то отправляет мне данные на порт X. Это два разных порта или один и тот же?

Ответы [ 3 ]

1 голос
/ 29 октября 2010

При отправке данных с использованием UDP, порт назначения должен быть указано.

Correct.

При отправке по TCP, порт источника также должен быть указан.

Неправильно. Система выделит один для вас автоматически, если не указано иное. Это нормальное использование.

Существуют ли разные порты для ввода и вывода?

Нет. Локальный порт, к которому вы привязаны, используется для обоих.

И все это относится как к UDP, так и к TCP.

1 голос
/ 27 октября 2010

Исходный порт - это порт, который существует только на компьютере, который инициирует соединение, тогда как порт назначения существует только на компьютере, который его получает (хотя оба видны для обеих конечных точек).Как TCP, так и UDP имеют порты источника и назначения.Обычно исходный порт выбирается автоматически библиотекой сокетов из неиспользуемых портов на компьютере.Существует очень мало веских причин для выбора конкретного исходного порта, и он часто будет изменяться шлюзом Интернета (маршрутизатором) как часть процесса преобразования сетевых адресов (NAT).

Редактировать: чтобы уточнитьпорты источника и назначения используются как для ввода, так и для вывода.Какой порт находится на вашем компьютере, зависит от того, на каком конце TCP-соединения вы находитесь.Если вы находитесь на принимающей стороне, то порт назначения находится на вашем компьютере.Когда вы смотрите на соединение с вашей перспективы, оно будет портом источника и будет использоваться как для ввода, так и для вывода.Тот же принцип применим и к UDP, за исключением того, что самих по себе "соединений" нет, просто обмен необработанными данными между портами.

0 голосов
/ 27 октября 2010

TCP нужен как порт источника, так и порт назначения, поскольку он формирует соединение между двумя клиентами, тогда как UDP является без соединения ; Вы просто отправляете данные в порт назначения, и он либо приходит, либо нет.

Итак, с помощью TCP вы открываете «канал» между двумя компьютерами. Вы отправляете данные через него и, возможно, получаете обратно.

С UDP, если вы хотите получать данных, тогда да, вам нужен «отдельный» порт, который прослушивает входящие данные.

...