Открывается ли новый сокет для каждого соединения UDP? - PullRequest
3 голосов
/ 04 ноября 2010

Я знаю, что с TCP каждое соединение создает новый сокет.UDP также создает новый сокет для каждого соединения?

Ответы [ 2 ]

7 голосов
/ 04 ноября 2010

Нет.

Когда вы получаете сообщение (recvmsg()), вам сообщается IP-адрес партнера, который отправил сообщение;когда вы отвечаете (sendmsg()), вы указываете IP-адрес, на который отправляется сообщение.Это делается через один сокет.Смотри также <sys/socket.h>.

2 голосов
/ 04 ноября 2010

Я знаю, что с TCP каждое соединение создает новый сокет.

У вас есть это спереди.Каждый новый сокет представляет новое соединение.

Создает ли UDP также новый сокет для каждого соединения?

Это также не имеет смысла.Во-первых, в UDP нет реальных соединений.Во-вторых, вы создают сокеты или ваше приложение.Не UDP.Или TCP.

...