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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Jun 2010
Сообщений: 16
Question ServerSocket и Socket

Добрый день.

Хотел попробовать пересылать данные между двумя swf.
Первое приложение сервер. В нем через ServerSocket.bind() создаю подключение.
Второе клиент подключаюсь К серверу через Socket.connect().
Подключение проходит нормально, но я не могу разобраться, как отправлять данные с сервера на клиент.

Т.е. у Socket есть методы типа writeInt, readBytes. А у ServerSocket судя по хэлпу ни чего подобного нет.
Возможен ли вообще такой вариант связи двух флэшек?
Если да, то как, если нет, то чем это можно заменить?

Заранее спасибо за ответ.


Последний раз редактировалось van2tus; 04.02.2012 в 15:47.
Старый 04.02.2012, 16:18
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Описание метода listen().
Цитата:
После вызова метода listen() объект ServerSocket отправляет событие connect при каждой попытке соединения. Свойство socket объекта события ServerSocketConnectEvent ссылается на объект Socket, который представляет собой подключение между сервером и клиентом.


Последний раз редактировалось bav; 04.02.2012 в 16:20.
Старый 04.02.2012, 16:52
van2tus вне форума Посмотреть профиль Отправить личное сообщение для van2tus Найти все сообщения от van2tus
  № 3  
Ответить с цитированием
van2tus

Регистрация: Jun 2010
Сообщений: 16
Спасибо.

Добавлено через 11 минут
Еще 1 вопрос, К ServerSocket удается подключится, если два компьютера соединены через Wi Fi, но по интернету соединиться не удается, в чем проблема?

Старый 04.02.2012, 17:24
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Наверное у сервера виртуальный айпи.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 05.02.2012, 16:48
van2tus вне форума Посмотреть профиль Отправить личное сообщение для van2tus Найти все сообщения от van2tus
  № 5  
Ответить с цитированием
van2tus

Регистрация: Jun 2010
Сообщений: 16
Еще с такой проблемой столкнулся, при запуске приложения из флеша, оно работает нормально. Но если Запускать через swf на диске, то подключение проходит, но не работают обработчики событий. Из за чего это может быть?

Код AS3:
import flash.net.Socket;
import flash.errors.IOError;
import flash.events.IOErrorEvent;
import flash.events.Event;
 
var clientSocket:Socket = new Socket();
 
 
clientSocket.addEventListener( ProgressEvent.SOCKET_DATA, onClientSocketData);
clientSocket.addEventListener( IOErrorEvent.IO_ERROR, onError);
clientSocket.addEventListener( Event.CONNECT, onConnectClient);
 
clientSocket.connect('192.168.1.71',25565);
 
function onConnectClient(event:Event)
{
	Label1.text = 'Подключение удалось';
}
 
function onError(event:IOErrorEvent )
{
	Label1.text = 'Подключение не удалось';
}
 
function onClientSocketData(event:ProgressEvent )
{
	trace(clientSocket.readInt());
	clientSocket.writeBoolean(true);
	clientSocket.flush();
}
Label1.text = 'Ожидается подключение';

Старый 06.02.2012, 02:37
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 6  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Цитата:
Но если запускать через swf на диске, то подключение проходит, но не работают обработчики событий.
Каким образом вы узнаете что подключение происходит, если, судя по вашим словам, текст в Label1 не меняется на 'Подключение удалось'? Если сервер показывает, что к нему кто-то подключается, но клиент не показывает, что ему удалось подключится, значит так оно и есть. Попробуйте послушать и другие события:
Код AS3:
addEventListener(Event.CLOSE, closeHandler);
addEventListener(Event.CONNECT, connectHandler);
addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);

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

Теги
ServerSocket , socket
Опции темы
Опции просмотра

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

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


 


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


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