2013-07-21 7 views
1

У меня есть несколько вопросов относительно сокетов, я искал, но не смог найти прямой ответ.Соединения на сервере входа, пересылка на сервер World

У меня есть сервер входа в систему и мировой сервер. Я подключаюсь от TcpClient to the TcpListener по адресу login server. Я хочу both a Tcp and a Udp connection on the world server, поэтому после того, как логин был отмечен, я перенаправляю TcpClient на мировой сервер, используя TcpClient.Connect.

После этого процесса я сообщаю клиенту подключиться через Udp to the login server, а затем использовать Socket.Connect для перенаправления на мировой сервер.

Причина, по которой я пересылаю и не отправляю клиентские сообщения клиенту для перенаправления, заключается в том, что я только want to expose the login server IP and port to the client.

У меня нет опыта с сокетами, есть ли лучший способ перенаправления, не разоблачающий IP-адрес сервера и порт?

+0

Моя теория была проверена сегодня днем ​​и провалилась славно. Кажется, я не могу перенаправить соединение на сервер. Мне нужно будет переосмыслить это, теория была там, но -1 для не тестирования сначала. –

ответ

0

Вы можете проверить изображение на этой странице: http://next-gen.cc/

Что вы ищете сервер соединения, которое будет поддерживать одно соединение с сокетом клиента и сохранить состояние клиента (подключено, проверку подлинности, играя, отключен).

Как только игрок входит в систему, сервер соединений открывает свой собственный сокет на правый игровой сервер и пересылает туда все сообщения, а также когда игровой сервер хочет отправить данные клиента, он отправит его на сервер соединений, который, в свою очередь, отправляет его клиенту. Другими словами, сделайте свой сервер входа/подключения сервером как маршрутизатор между клиентом и игровым миром.

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