Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.07.2012, 02:55
lispo вне форума Посмотреть профиль Отправить личное сообщение для lispo Найти все сообщения от lispo
  № 1  
Ответить с цитированием
lispo

Регистрация: Jul 2012
Сообщений: 3
По умолчанию Передача данных с помощью сокетов.

Начал копать в сторону клиент-серверного взаимодействия flash и сразу же столкнулся с проблемой корректной передачи данных. В качестве сервера использую C#.
Во flash пытаюсь передать данные на сервер, используя сокет:

Код AS3:
socket.addEventListener(Event.CONNECT, onConnect);// слушатель на события коннекта с сокетом сервера
socket.connect('127.0.0.1', 8888); //подключаюсь
    private function onConnect(e:Event):void { //тут данные нормально передаются на сервер и отображаются
    socket.writeUTFBytes("Hello!");		
}
Но стоит как-то иначе попытаться передать данные и ничего не происходит...Например:

Код AS3:
	private function onPress(e:KeyboardEvent):void {
			if (e.keyCode == 37) {socket.writeUTFBytes("37");}
			if (e.keyCode == 38) {socket.writeUTFBytes("38");}
			if (e.keyCode == 39) {socket.writeUTFBytes("38");}
			if (e.keyCode == 40) {socket.writeUTFBytes("38");}
		}
Это мне получается все взаимодействие с сокетом писать в onConnect? Или каким образом, через другие функции можно отправлять данные на сервер?

Старый 23.07.2012, 09:16
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 2  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Не получится ничего записать в сокет, пока он не подключится. Писать весь код в onConnect совсем не обязательно. Можно сделать очередь из сообщений, и если сокет не подключен, то складывать эти сообщения в массив, а по подключению отправить их все. Или просто вообще ничего не отправлять пока сокет не соединится.
__________________
http://www.chessmax.ru

Старый 23.07.2012, 13:55
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 3  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
в дополнение.
Код AS3:
var socket:Socket;
socket.connected// Boolean свойство,  отвечающее за состояние подсоединения.
соответственно, ждете Event.CONNECT, проверяете socker.connected, что не отвалилось соединение.
Код AS3:
socket.writeBytes(bytes);
socket.flush();
не забываем делать flush output буферу.

Старый 23.07.2012, 14:13
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Ну я просто обязан попиариться =)
http://www.flasher.ru/forum/blog.php?b=579
__________________
тут я

Старый 23.07.2012, 20:44
lispo вне форума Посмотреть профиль Отправить личное сообщение для lispo Найти все сообщения от lispo
  № 5  
Ответить с цитированием
lispo

Регистрация: Jul 2012
Сообщений: 3
Всем огромное спасибо! Все стало понятно) Статьи КорДума очень помогли!) Очень все доходчиво там рассказано про сокеты. Избавили от часов гугления)

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.