PDA

Просмотр полной версии : AS 3 + JAVA+ SOCKET


Byrger
15.11.2010, 23:35
Привет
Начитавшийся про сокеты решил попробовать пример
http://www.flasher.ru/forum/showpost.php?p=847593&postcount=4

Пример переписал под Класс (вызывается из другого класса)
Сервер включаю, он ожидает сообщения от клиента, затем включаю флеш клиент он пишет что подконнектился к серверу, в севере принялось сообщение и по идее отправилось зеркальное, но клиент ничего не вывел

leofit
16.11.2010, 00:00
Раз уж Вы используете XMLSocket то сервер должен возвращать строки с "\0" на конце, и + есть такая вещь как flush, и
Security.loadPolicyFile("xmlsocket://127.0.0.1"); // файл безопасности
делается автоматически, и плеер после этого делает реконнект, причем из среды разработки этого не происходит, и
this.xsock.send("testing...");
команды надо отправлять после того как подключились, и кроссдомейник у Вас не отдает никто, но не работает именно из за "\0" и (возможно) flush

Byrger
16.11.2010, 00:23
А подскажите пожалуйста где можно прочитать про неблокирующие сокеты, я так понимаю они мне и нужны так как пишется MMO игра?

Я гуглил но не нашел примеров нормальных на подобии тогоже эхо сервера.

А то что посоветовали не помогло, видимо из-за кроссдомена, пока не знаю как его передавать через яву

goodguy
16.11.2010, 07:36
Кросс домен должен лучше генерировать самим джава сервером и посылать клиенту.
Прийду с работы, скину пример кода простейшего сервера, который генерирует этот файл и нормально коннектится

так как пишется MMO игра
Не слишком ли круто для начала? Для этого нужно куда больше опыта.

Я бы лучше начал с какого-нибудь мессенджера

Byrger
16.11.2010, 11:17
Да нет не слишком круто, опыт в пхп 5 лет, идее игры уже года 4 и на пхп она реализована почти была както
Так что вся логика игры уже давно продумана, надо переписать все на Яву просто, сделать сокеты, соединение с базой и так далее

goodguy
16.11.2010, 19:47
Собственно, как и обещал. В архиве лежит клиент на ас3 и простейший джава сервер. Всё, естественно, с исходниками.

Запускаете сервер через командную строку, далее врубаете клиент, жмете коннект, всё придельно просто.

Кросс домен генерируется сервером и отправляется клиенту. С этим никаких проблем нет.

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

Byrger
17.11.2010, 01:14
Соединение то у меня у меня устанавливается, даже могу на сервер отослать строку...
ТОльно если ее вывести в терминале сервера то будет: "e(квадратик)e", ессли отправлял строку "eee"

И не приходит ответ от сервера... или флеш не ловит его...
Не пойму в чем проблема

Евент во флеше
addEventListener(DataEvent.DATA, this.datainc);