2014-12-21 3 views
0

Я хочу сделать многопользовательскую игру, и я хочу, чтобы она использовала сокеты UDP. Из-за этого я хочу использовать DatagramSocket. Проблема в том, что DatagramSocket необходимо привязать к порту с обеих сторон. Есть ли способ создать серверно-клиентскую программу с UDP, которая не требует от клиента переносимости? (Как Serversocket и Socket).AS3 - Datagramsocket без порта

ответ

1

Запомните, что UDP - без установления соединения. Вы отправляете пакет данных на какой-то IP-адрес и надеетесь, что он знает, что с ним делать, как только он попадет на целевую машину. Но на самом деле, когда он находится на машине, он не знает, куда идти оттуда, есть ли приложение, которое интересуется этими пакетами? Именно поэтому вам нужно указать номер порта, который зарегистрирован для пересылки пакетов в конкретное приложение на машине.

Отправить пакет себе в приложение работает на порту 7000: 127.0.0.1: 7000

+0

ли порт должен быть пробрасываемых? –

+0

@ErikW В большинстве случаев клиентам никогда не нужно пересылать порт. Однако на стороне сервера, если он сидит за маршрутизатором, вам действительно придется переносить порт, чтобы маршрутизатор знал, какой локальный компьютер ему нужен для пересылки пакетов. Существует подробное описание переадресации портов [здесь] (http://superuser.com/questions/284051/what-is-port-forwarding-and-what-is-it-used-for). – Iggy

+0

Хорошо, спасибо большое! :) –

Смежные вопросы