как отличить, если клиент использует TCP или UDP со стороны сервера

Это чаще всего относится в код или конструкцию, готовую к I18N - т.е. легко поддерживаемое общими методами I18N. Например, следующее готово:

printf(loadResourceString("Result is %s"), result);

, в то время как следующее не:

printf("Result is " + result);

, потому что порядок слов может варьироваться по различным языкам. Поддержка Unicode, международная дата и время, форматирующая и т.п. также, квалифицирует.

РЕДАКТИРОВАНИЕ: добавил loadResourceString для создания примера близко к реальной жизни.

8
задан seg.server.fault 18 September 2009 в 03:41
поделиться

3 ответа

Прежде чем пакет достигнет вас, вы не знаете, что это UDP или TCP .

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

Как только вы это сделали, вы просто узнаете, каким путем он пришел через сокет, через который вы получили пакет.

17
ответ дан 3 November 2019 в 14:38
поделиться

При создании сокета вы передаете тип - SOCK_STREAM (TCP) или SOCK_DGRAM (UDP)

Итак, два вида трафик будет на двух разных сокетах.

6
ответ дан 3 November 2019 в 14:38
поделиться

просто позвольте сокету TCP прослушивать порт X и выполнять соединения UDP через порт Y

1
ответ дан 3 November 2019 в 14:38
поделиться