UDP клиент-серверный вопрос - PullRequest
2 голосов
/ 01 июля 2010

Я пытаюсь написать клиент-серверное консольное приложение на C #, используя UDP.И у меня есть один вопрос.Таким образом, когда я посылаю команду от клиента к серверу - серверы должны иметь IP-адрес для чтения.клиент должен получить некоторые настройки с сервера, но в этом случае у клиента тоже должен быть реальный IP-адрес.Другие приложения, такие как игры, не требуют от клиента реального IP.Что я должен сделать, чтобы он работал таким образом?

Ответы [ 3 ]

0 голосов
/ 01 июля 2010

Игры используют хост-компьютер с общедоступным IP-адресом в качестве сервера или сам сервер в качестве сервера.

Клиент с частным IP-адресом устанавливает соединение с сервером, а затем сервер использует соединение для возвратаданные клиенту (аналогично браузерам).

В C # вы можете использовать класс NetworkStream для TCP и UdpClient для UDP.

0 голосов
/ 01 июля 2010

Используя Socket.BeginReceiveFrom / EndReceiveFrom, сервер получает IP-адрес клиента.Если сервер должен ответить, он использует IPEndPoint.

0 голосов
/ 01 июля 2010

Если я правильно понимаю ваш вопрос: вы можете использовать Socket.ReceiveFrom, который сообщит серверу IP-адрес клиента, отправляющего запрос.

...