Реализация поиска созданных игр в локальной сети
Захотел реализовать многопользовательскую игру в локальной сети на AIR. Почитал немного о сетевом программировании, уяснил как я буду передавать данные. Решил, что буду использовать UDP, так как хочу сделать игру в реальном времени. Дошёл до осмысления вопроса: как бы я сделал поиск созданных игр в меню. Приложение может как создавать игры в локальной сети, так подсоединяться к ним.
Предположим, что игрок создал игру на своём компьютере в локальной сети. Как можно донести пакет о поиске игр до этого компьютера клиенту в этой же сети? Так как компьютер-клиент изначально не знает, кто в его сети хостит игру на определённом порту. Куда и каким образом слать пакеты о желании подключиться так, чтобы сервер поймал эти пакеты и отправил обратно свой адрес клиенту для установления контакта? Я подумал, что надо слать на широковещательный адрес, который я нашёл в документации к классу InterfaceAdress (свойство broadcast). На компьютере-клиенте может быть несколько сетевых интерфейсов с такими адресами, и я посчитал, что следует отправлять пакеты на широковещательные адреса всех доступных интерфейсов. Но в целях проверки, я просто взял один из таких адресов и запустил на него TCP-пакет. На другом конце тишина. При том если просто взять адрес сервера и вбить вручную, пакеты дойдут. Но повторюсь, клиент не может знать, кто создал игру в его сетях. Поправьте, если я неправ. И каким образом это реализовать? Можно ли вообще достойно реализовать игру в локальной сети средствами AIR? Добавлено через 45 часов 0 минут Понял свою ошибку. Через TCP не посылаются широковещательные пакеты. Только UDP. |
Часовой пояс GMT +4, время: 17:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.