Постоянные соединения между Flash-клиентом и Java-сервером - PullRequest
1 голос
/ 19 августа 2009

Я новичок во Flash. Я планирую создать игровой клиент во Flash (работающий в браузере), который должен общаться с сервером, написанным на Java. Соединение между клиентом и сервером должно быть постоянным.

Я знаю о XMLSocket - это единственный путь? Любые рекомендации?

Спасибо!

Ответы [ 4 ]

1 голос
/ 19 августа 2009

Существует класс Socket , который позволяет вам использовать настоящий TCP при общении с сервером. Недостаток - вам придется реализовать протокол самостоятельно (в большинстве случаев это HTTP-клиент. Может быть, кто-то уже сделал это)

0 голосов
/ 10 декабря 2009

Я экспериментировал с Socket-связью между Flash и Java. Одним из преимуществ Socket над XMLSocket является пропускная способность, потому что вы можете записывать двоичные данные. Так, например, вы можете отправить позицию одного лица как:

writeShort(entity.id); writeFloat(entity.x); writeFloat(entity.y);

Что составляет всего 10 байтов.

Java поддерживает аналогичные примитивные функции чтения / записи с DataStreams или ByteBuffers.

На самом деле, сторона сервера более сложна, чем сторона Flash, потому что вам приходится выбирать между старыми сокетами io Java и новыми методами io. Новые методы ввода-вывода имеют гораздо лучшую производительность, но они более сложны и, по-видимому, заполнены ошибками.

0 голосов
/ 25 августа 2009

Убедитесь, что у вас есть файл политики безопасности, доступный на сервере. Посмотрите на этот SO вопрос / ответ для получения дополнительной информации.

0 голосов
/ 19 августа 2009

Собираетесь ли вы просто создать игру для наклонности и веселья? В противном случае я бы порекомендовал использовать существующий игровой сервер или, по крайней мере, изучить преимущества и недостатки этого варианта.

Я использовал SmartfoxServer (http://www.smartfoxserver.com) в нескольких проектах, он не идеален, но устраняет многие ваши проблемы (и вы можете писать расширения в Java, если хотите). Я думаю, ElectroServer http://www.electro -server.com / похож, и вы также можете взглянуть на сервер с открытым исходным кодом Red5 http://osflash.org/red5

Помимо отправки файлов в формате xml, вы также можете проверить, можете ли вы использовать AMF для отправки данных, может быть меньше (как в меньших битах).

...