![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2012
Сообщений: 19
|
Здравствуйте с помощью As3 создал сокетное соединения с сервером
при нажаты клавиш, As3 записывает сообщения в сокет например вот так, x5 x20x25x30y5y10 y15y20 y25y30x35 и т.д мне нужно чтобы каждый сообщения записывался в сокет одельо. т.е так x20 x25 x30 y5 y10 y15 как можно решить? /* connect to socket */ var socket = new Socket("localhost", 1024); socket.connect; socket.flush; /* state of connect to socket */ socket.addEventListener(Event.CONNECT,socketConnected); function socketConnected(e:Event):void{ trace("client - socket connected", socket.connected); } /* read the string from the socket*/ socket.addEventListener(ProgressEvent.SOCKET_DATA,socketData); function socketData(e:ProgressEvent):void{ var x1=''; var y1=''; var read_socket=socket.readUTFBytes(socket.bytesAvailable); if (read_socket.indexOf('x')==0){ for (var i=1; i<read_socket.length; i++){ x1=x1+read_socket.charAt(i); } sqr.x=Number(x1); } if (read_socket.indexOf('y')==0){ for (i=1; i<read_socket.length; i++){ y1=y1+read_socket.charAt(i); } sqr.y=Number(y1); } trace(read_socket); } /*Move to sqr*/ var speed:Number = 5; stage.addEventListener(KeyboardEvent.KEY_DOWN, downn); function downn(e:KeyboardEvent): void{ if (e.keyCode==37){ socket.writeUTFBytes('x'+sqr_i.x); //write to socket socket.flush(); sqr_i.x -= speed; }if(e.keyCode==39){ socket.writeUTFBytes('x'+sqr_i.x); socket.flush(); sqr_i.x += speed; }if(e.keyCode==38){ socket.writeUTFBytes('y'+sqr_i.y); socket.flush(); sqr_i.y -= speed; }if(e.keyCode==40){ socket.writeUTFBytes('y'+sqr_i.y); socket.flush(); sqr_i.y += speed; } } socket.close; |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Обычно или разделяют сообщения неким спец. символом (например '\0') или пишут длину сообщения, а затем само сообщение.
Может и можно именно записать в сокет отдельно каждое сообщение, но гарантии, что они придут столькими же кусками, сколькими были отправлены - нет.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 19
|
как записать?
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Вы не поняли. Записать можно. Получить нельзя. То, что ушло несколькими кусками может прийти одним. То, что ушло одним - может прийти несколькими. Разве что делать паузы между отсылкой, ожидая подтверждения от сервера. Но не надо, делайте как выше написал.
Если совсем всё плохо, то XMLSocket попробуйте, там эти все склейки автоматом делаются.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 19
|
можете код дописать для XMLSocket?
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Всё не напишу. Смотрите справку.
Для отсылки вместо писать Для получения подписываться на DataEvent.DATA PS: не пишите код в кадрах, не пишите код в Flash CS, используйте нормальное форматирование.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 19
|
кто нибудь, дописайте код пожалуйста
Добавлено через 7 часов 41 минуту Тема актуальна помогитье дописать код с Socket на XMLSocket |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
я могу написать за деньги
|
|
|||||
|
Регистрация: Apr 2012
Сообщений: 19
|
сколько?
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Если вы просмотрев справку по XMLSocket (там же пример есть!) и поковыряв его не смогли код выше спортировать - вы не сможете в дальнейшем работать с сокетами.
На сервере таки склеивать пакеты придется один хрен.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|