"Использование выделенных розеток
исполнение. "
Для меня это говорит, создать один уникальный сокет для каждого соединения и использовать его во всем этом соединении.
РЕДАКТИРОВАТЬ: просто чтобы расширить это, с точки зрения серверов.
UDP-сокеты не идентифицируются
удаленный адрес, но только по местному
адрес, хотя каждое сообщение имеет
связанный удаленный адрес. (источник) .
Таким образом, сервер может отличить, с какого клиента пришло каждое сообщение. Поскольку удаленный адрес состоит из комбинации IP-адреса и порта, вы должны использовать один и тот же сокет во время связи с сервером. Это потому, что если вы этого не сделаете, возможно, вы сможете получить другой порт при следующей смене основного сокета.
"Если сервер теряет связь UDP
с клиентом это будет ... "
Возможно потерять связь с UPD, например, какая-либо из конечных точек в соединении потеряна, скажем, я иду на сервер и вытаскиваю штекер?
EDIT2:
Дэн Брайант замечательно отмечает в комментариях, что связано с тем, о чем я говорил.
Стоит отметить, что это
возможно для вызова к сокету UDP
бросить SocketException с
SocketError.ConnectionReset как
код ошибки. UDP не имеет никакого вида
сеанса со структурированным
подключить / отключить, но он использует
динамически назначенный удаленный порт для
разрешить ответы, что является своего рода
'Соединение'.