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

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

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

Регистрация: Oct 2012
Сообщений: 2
По умолчанию Проблема с Socket

Добрый день подскажите пожалуйста.
Задача такова с ActionScript необходимо подсоединиться по Socket с сервером на Delphi.
На форме делфи повесил TServerSocket.
В событии OnClientReader отлавливаю что шлет мне ActionScript и добавляю в мемо вот так .
Код:
mmo1.Lines.Add(Socket.ReceiveText);
С ActionScript посылаю запрос вот так
Код AS3:
var s:Socket = new Socket("127.0.0.1",9876);
s.connect("127.0.0.1",9876);
s.writeUTFBytes(by.join("|"));
s.flush();
Где by массив с числами после by.join("|") он принимает к примеру вот такое значение.
Код:
4,1|3,1|2,1|3,1|3,1|2,1|1,1|1,1|2,1|1,1|4,1|4,1|1,1|4,1|1,1|1,1|2,1|1,1|3,1|2,1|2,3|3,1|3,1|1,1|4,1|2,1|4,1|1,1|4,1|3,1|4,1|4,1|3,1|2,1|1,1|2,1
ActionScript подключается к Delphi, вижу это и по клиенту и что он добавляет в Memo <policy-file-request/>.
После чего я ему отвечаю
Код:
      Socket.SendText('<cross-domain-policy><allow-access-from domain="*" to-ports="*"/></cross-domain-policy>'+#0);
Но вот данные посланные ActionScript в Delphi я к сожалению не вижу.
В чем может быть проблема?
Хотя если я вместо
Код AS3:
s.writeUTFBytes(by.join("|"));
Пробую вот так
Код AS3:
var by:ByteArray = new ByteArray(); 
by.writeMultiByte('new' + "\n", "UTF-8")
s.writeBytes(by);
То все посылается.

Старый 12.10.2012, 18:26
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
На сколько я помню, все сообщения по сокету должны подписываться нулевым байтом

Старый 12.10.2012, 19:39
cardon вне форума Посмотреть профиль Отправить личное сообщение для cardon Найти все сообщения от cardon
  № 3  
Ответить с цитированием
cardon

Регистрация: Oct 2012
Сообщений: 2
Цитата:
Сообщение от caseyryan Посмотреть сообщение
На сколько я помню, все сообщения по сокету должны подписываться нулевым байтом
А разве ActionScript его автоматом не ставит при отправке?

Сейчас пробую передать данные с ActionScript вот так.

Код AS3:
var s:Socket = new Socket();
s.connect("127.0.0.1",9876);
s.writeMultiByte("test" + "\n", "UTF-8");
trace(s.connected);
s.flush();
Причем trace показывает что подключение False, хотя сервер на Delphi говорит обратное.
1) Он показывает откуда присоеденяются
2) Ему приходит запрос <policy-file-request/> на который он отправляет данные из crossdomain

Когда я запускаю этот же код на локальной машине подключение так же пишет false но данные на сервер приходят которые отправляю. В чем проблема?


Последний раз редактировалось cardon; 12.10.2012 в 20:12.
Создать новую тему Ответ Часовой пояс GMT +4, время: 09:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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