Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в эту темуОткрыть новую тему
> Флэш чат, Какими средставами лучше всего создавать чат?(Flash,PHP,xml,FMS)?
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
Antoxer_92
сообщение 21.07.2011 - 18:46
Сообщение #1


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



Ребят подскажите пожалуйста, что мне лучше использовать для создания полнофункционального чата(наличие различных комнат, отображение тех, кто в комнате)? На данный момент я я пытаюсь создать чат средствами Flash ->PHP->xml. Т.к. я думаю это наиболее разумно, поскольку PHP может обращатся к MySQL, кот. может хранить инфо "в сети ли пользователь или нет, ну и возможно понадобится что-нибудь ещё". Так вот я сталкнулся с такой проблемой:

Когда я отправляю сообщение из флэшки в PHP, то PHP его записывает в xml(это проверено - работает). А вот Flash почему-то не всегда (1 раз из 10) считывает этот xml файл. Flash я запускал из vkontakte.ru, php и xml лежит на локальном сервере у меня на компе.

Вот именно тот AS 3.0 код загружает этот xml файл по нажатию кнопки обновить (как разбирусь с моей проблемой, поставлю таймер для обновления):

update_btn.addEventListener(MouseEvent.MOUSE_UP, loadXml);

function loadXml(e:MouseEvent=null):void
{
var xmlRequest:URLRequest=new URLRequest("http://95.63.96.78/messages.xml");
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE, xmlLoaded);
loader.load(xmlRequest);
}

function xmlLoaded(e:Event):void
{
xmlCHT=XML(e.target.data);
xmlListCHT=xmlCHT.children();

updateText();
}

function updateText():void
{
messageViewCHT_txt.htmlText='';
var i:uint=0;

if(xmlListCHT.length()>maxMes)
i=xmlListCHT.length()-maxMes;

for(i;i<xmlListCHT.length();i++)
{
messageViewCHT_txt.htmlText+='<b>'+xmlListCHT[i].name+'</b> ('+xmlListCHT[i].date+'):';
messageViewCHT_txt.htmlText+=' '+xmlListCHT[i].text;
}

}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 22.07.2011 - 01:26
Сообщение #2


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4935
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Какими средставами лучше всего создавать чат?(Flash,PHP,xml,FMS)?

Antoxer_92

Разные технологии можно для этого использовать. На стороне клиента речь идёт о флеше, а вот на стороне сервера возможны разные варианты. Но с точки зрения производительности лучше писать сокет сервер и работать с ним из флешки (через сокет соединения).

Ещё в 2001 году мой друг создал свой первый флеш чат. Так для серверной части был написан сокет сервер вначале на Perl, а потом новые версии на Delphi и C. Так что оптимальней реализовать чат не через веб сервер, а через отдельный сокет сервер.

Цитата
Flash я запускал из vkontakte.ru, php и xml лежит на локальном сервере у меня на компе.

Для тестирования размести все компоненты у себя на локальном сервере. И как локально у тебя всё заработает, только тогда уже размещай их на разных серверах.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 22.07.2011 - 13:24
Сообщение #3


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



MustLive

Спасибо за инфо, вбил в яндекс "чат средствами флэш и сокет сервера", и сразу куча ссылок!!! Просто я до этого не знал про чат средствами сокет сервера. Если идёт речь о производительности, то я думаю мне лучше тогда разобраться с сокетами, тем более, что с делфи я знаком smile.gif. Буду разбиратся. Если появятся вопросы, буду сюда писать smile.gif, как я понял тут отзывчивые и умные люди.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 24.07.2011 - 23:53
Сообщение #4


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4935
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Antoxer_92, всегда пожалуйста.

Касательно использования сокетов во флеше (в том числе для чатов) на форуме не раз писалось. Например, в этой теме и других темах (на которые ты можешь выйти по ссылкам из той темы и используя поиск по форму).


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 25.07.2011 - 17:56
Сообщение #5


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



Как я понял можно написать такой сервер самому, а можно взять уже готовые из инета, и причём они поддерживают ещё и Video & Audio Streeming(для вебкам-чата) ну и много других возможностей.

В нете я нашёл:

1) FMS 4 - все версии которые платные и мне не по корману, есть правда бесплатная версия, но она обеспечивает только 10 одновременных подключений, так что так и так придётся потом лицензию приобретать.
2) ElectroServer5 - тоже не бесплатный продукт. Версия на неограниченное число одновременно подключённых клиентов стоит 4500$.
3) Wowza - есть тоже несколько версий, но интересующая нас всех "наверное" версия с неограниченным числом одновременно подключённых клиентов стоит 86000 руб.
4) SmartFoxServer - имеет 3 версии, но версия с неограниченным числом одновременно подключённых клиентов стоит 86000 руб.
5)Red5 1.0 RC1 server - абсолютно бесплатный сервер. В сравнении с другими серверами не знаю даже что лучше, кто то хвалит кто то наоборот, но как я вычитал у него есть своя БД, чего скажем нет у FMS, даже если я и смогу Создать на Red5 1.0 RC1 свой чат, то сравнить мне не счем, т.к. пока я несобираюсь отваливать такие деньги за анлимит версию других серверов.

Так вот у меня возникли трудности с установкой Red5 1.0RC1: вообще незнаю как его ставить. Вбил в яндекс, там несколько ссылок, но там одну ерись пишут, с их слов ничего не понятно, да и отзывы люди пишут, что у них ничё не получаеца.

Я только скачал с нета Red5 1.0RC1 и установил на комп. А вот чё дальше делать не знаю sad.gif.

Люди может кто-нибудь объяснить как его поставить (именно Red5 1.0 RC1) на Windows 7. Что бы разрабатываеть своё flash приложение для него.

Я хочу именно организовать транслюцию потока Video; Audio и отправку сообщений по следующей схеме:

Flash приложение кот. лежит на каком нить сайте (клиент) -> (сервер)Red5 1.0 RC1 server, кот лежит у меня на компе на localhost, "но это на время разработки, естественно потом придёца покупать серв" -> (клиенты-подписчики на мою транслюцию), запустившие экземпляры моего Flash приложения.

Так вот, кто может объяснить нубу, как установить red5 1.0 RC1 на Winwows 7 под мою, вышеприведённую, схему.?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 30.07.2011 - 23:59
Сообщение #6


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4935
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Как я понял можно написать такой сервер самому, а можно взять уже готовые из инета, и причём они поддерживают ещё и Video & Audio Streeming(для вебкам-чата) ну и много других возможностей.

Antoxer_92

Если тебе нужен лишь текстовый чат, то относительно проще написать самому (если человек знаком с другими языками программирования, помимо ActionScript, и в состоянии написать подобную программу). А если же нужен стриминг, как для вебкам-чата, так и для других задач (стриминг видео, музыки и другого аудио контента), то тогда стоит брать себе соответствующий сокет-сервер.

Цитата
как установить red5 1.0 RC1

C Red не работал, поэтому не подскажу (вряд ли кто-либо из участников форума с ним работал). Поэтому или сам пытайся разобраться, или почитай официальную документацию, форум разработчиков и поищи информацию по установке в Сети. Или используй другой стриминг сервер.

Касательно, Flash Media Server, то на форуме мы писали о книге по FMS.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 26.08.2011 - 02:30
Сообщение #7


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



С Red5 разобрался!!! Научился отдавать аудио и видео поток на Red5 из флэшки и забирать его. Текстовый чат на Red 5 можно реализовать средствами SharedObjects. Но я всётаки понял что для моего приложения нужны всётаки сокетные соединения! Теперь пытаюсь освоить взаимодействие Delphi 7 socket-server => Flash socket-klient, но как всегда возникают некоторые трудности.

Короч, вот текст сокет-сервера на делфи:

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
s := InputBox('Start chat server','Enter port:','1992');
if s = '' then {Процедура запуска сервера}
Exit;
ListBox1.Items.Clear;
ServerSocket1.Port := StrToInt(s);
ServerSocket1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox1.Items.Clear; {Процедура остановки сервера}

if ServerSocket1.Active then
ServerSocket1.Close;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var s: string;
i: Integer;
begin {Процедура прослушки входящих сообщений}

Edit1.text := Socket.ReceiveText;
s := Socket.ReceiveText;
ListBox1.Items.Add(s);
for i := 0 to ListBox1.Items.Count-1 do
s := ListBox1.Items[i]+';';
for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
ServerSocket1.Socket.Connections[i].SendText(s);
Exit;
end;
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
var i: Integer;
begin
ListBox1.Items.Clear; {Процедура события "Отключение клиента"}

for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
ServerSocket1.Socket.Connections[i].SendText('#N');
end;

end.



На форме следующие компоненты:

Кнопка "Run server" - Button1
Кнопка "Stop server" - Button2
TSocketSever1
Список подключённых юзеров - ListBox1
Edit1(нужен просто для проверки) - выводит текст вход. сообщения.



Вот текст клиента на Flash-е:

import fl.events.*;
import flash.net.Socket;
import flash.events.MouseEvent;

//Security.loadPolicyFile("http:/95.83.66.78/crossdomain.xml");

var address:String = "127.0.0.1";
var port:int = 1992;

var socket = new Socket();

socket.connect(address, port);

socket.addEventListener(Event.CLOSE, closeHandler);
socket.addEventListener(Event.CONNECT, connectHandler);
socket.addEventListener(ProgressEvent.SOCKET_DATA, sendedHandler)
socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

btn_send.addEventListener(MouseEvent.CLICK, sendMsg);

function ioErrorHandler(event:IOErrorEvent):void
{
trace("ioErrorHandler: " + event);
}

function securityErrorHandler(event:SecurityErrorEvent):void
{
trace("securityErrorHandler: " + event);
}



function sendedHandler(e:ProgressEvent):void
{
txt_chat.text = String(e.currentTarget);
}

function sendMsg(e:MouseEvent):void
{

var Msg:String = txt_input.text;

try
{
socket.writeUTFBytes(Msg);
}
catch(e:IOError)
{
trace(e);
}



}

function connectHandler(e:Event):void
{
txt_chat.text = "Подключение успешно \n";
}

function closeHandler(e:Event):void
{
txt_chat.text = "Подключение закрыто \n";
}



Сначала запускаю сервер(Project1.exe), затем нажимаю на кнопку "Run server" - ввожу port "1992" - к примеру. Пока всё норм ошибок нет => Сервак стартовал.

Затем запускаю Flash-ку(Chat.swf) - и сразу в текстовом поле сообщение "Подключение успешно" => коннект успешен. Для проверки я ещё затем, ничего не закрывая, на сокет-сервере (в Project1.exe) - нажал на кнопку "Stop server" и в Flash-ке в текстовом поле сообщение "Подключение закрыто" => значит с коннектом проблем нет, флэшка действительно конектится к серверу. Но дальше возникли проблемы:

После запуска сервера и конекта флэшки к клиенту я попытался отправить сообщение из флэшки, но на сервере(Project1.exe) ни в окне Edit1 ни ListBox1 ничего не выводится, да и ошибок ни каких не выводится в Flash-е => сообщение было отправлено, но Delphi чет его не обработал!

Ребят помогите разобраться, в чём проблема? Мож с кодировкой чё? - но в любом случае ероглифы какие-нить должны были вылезти, но ничего не вылазиет.

Да ещё затем провёл несколько проверок, и выяснилось что процедура в Delphi "TForm1.ServerSocket1ClientRead" не срабатывает => событие OnClientRead не происходит. В чём дело не пойму sad.gif

Сообщение отредактировал Antoxer_92 - 26.08.2011 - 02:55
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 26.08.2011 - 13:38
Сообщение #8


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1167
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



А если отправить с сервера сообщение во флеш? Флешка поймает?


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 28.08.2011 - 14:27
Сообщение #9


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



А с сервера в клиент сообщение доходит, правда первое сообщение почему-то с "null", т.е. если я отправляю с сервера "паугуцп", то в клиент приходит "nullпаугуцп", но это только в первом сообщении, в последующих всё нормально!

Итак в Delpi 7 я использовал для отправки сообщения следующи кусок кода:

for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do
ServerSocket1.Socket.Connections[i].SendText(s);
Exit;

Для приёма в Flash-е следующий код, точнее функцию, срабатывающею при получении данных в сокете:

function sendedHandler(e:ProgressEvent):void
{
trace("socketDataHandler: " + e);
str += socket.readUTFBytes(socket.bytesAvailable) + "\n";
txt_chat.text = str;
}

Очевидно с коннектом всё ок, может кто нить знает в чём причина? почему в делфи не происходит событие onClientRead, при отправки сообщения из клиента на сервер?

Вероятно в коде Сервера чего-то не хвает или что-то не правильно! sad.gif

Посмотрите, пожалуйста, мож действительно не хватает чего-нибуть!

ДА и как сделать так чтобы этот null в первом сообщении не вылазил, да конечно можно вырезать от туда null редактированием сроки, но это не удобно!!!

Сообщение отредактировал Antoxer_92 - 28.08.2011 - 15:06
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 30.08.2011 - 19:20
Сообщение #10


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



Всё уже сам разобрался!!!, для тех кто сталкнётся с моей проблемой:

Оказывается после отправления данных в сокет из Флэшки в такой операионной системе как Windows нужно вызывать метод flush().
Об этом написано и в Help-е от Adobe-е!!! Нужно мне просто было внимательнее его читать.

ДА только вот "null" не знаю почему вылазиет!!! Если кто знает в чём причина, пожалуйста подскажите. Если кто не понял что за "null", то см. выше
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 1.09.2011 - 00:23
Сообщение #11


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4935
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Вероятно в коде Сервера чего-то не хвает или что-то не правильно!

Antoxer_92, без сомнения. Как ты уже и сам понял.

Цитата
Всё уже сам разобрался!!!

Молодец, что разобрался. И почитал наконец-то таки внимательно хелп (что и помогло решить эту проблему). Внимательное чтение хелпа - это первое, что должен делать каждый флешер, перед тем как задавать вопросы на форуме wink.gif. А то, что ты описал метод решения этой проблемы, то это безусловно пригодится другим людям.

Цитата
ДА только вот "null" не знаю почему вылазиет!!!

А что хелп по флешу и по делфи говорит по этому поводу? Внимательно эти хелпы изучи, возможно там есть ответ.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 14.09.2011 - 18:54
Сообщение #12


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



В ходе разработки назрел вопросик smile.gif!!! Появилась необходимость связываться с сайта из flash-приложения сокетными соединениями с сокет-сервером кот. у меня на компе запускается!!! Свой сервер не приобретал, по этому приходится тэстить на компе!!!
При запуске флэшки соединение с сокет-сервером не происходит, так вот, как мне можно подключиться к моему сокет-серверу? Homserv(это пакет програм: Appache, php my admin, php5, MySQL) здесь не покатит, так как это виртуальный веб-хост!!! Я слышал что-то про виртупльную машину: Virtualbox, Microsoft Virtual PC!!! Подскажите пожалуйста, что нужно для решения моей проблемы!!!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 9.11.2011 - 21:23
Сообщение #13


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



А может этого ничего и не надо?

Я запустил своё флэш приложение в "Вконтакте", а сокет сервер на компе:

секунды через 2 на сокет сервере вылазиет ошибка:

"Access violation at address 00467336 in module 'SocketServer.exe'. Read of address 00000000"

А затем вот такое окно с сообщением об ошибке:

"ServerSocketClientError 10053"

- Что это означает кто нибудь знает? подскажите плиз.

И ещё я почитал про файлы политик:

Оказывается для сокетных соединенений нужен свой файл политик, т.е. их должно быть 2 на сервере:

один (основной) для http запросов - crossdomain.xml

второй (для сокетов) который должен находиться на порту 843 или на порту по которому осуществляется подключение

В хэлпе от адоба было написано что после вызова метода Socket.connect(address,port) сначала флэшка отправляет строку "<policy-file-request/>" сокет сервреу (это якобы запрос на файл политик). Сначала эта строка отправляется на порт 843 если там нет этого файла политик или он есть но там запрещён доступ домену или порту по которому осуществляется строковой запрос "<policy-file-request/>", то флэш отправляет строку "<policy-file-request/>" на порт к которому мы подключаемся "port", в свою очередь сокет сервер должен отправить файл политик и если в нем прописано что по этому адрессу "address" и порту "port" разрешён доступ то якобы всё ОК и сокетные подключения разрешены!!!

Но у меня в сокет сервер что то не приходит этот строковой запрос <policy-file-request/>" при подключении к нему из флэша!!!

Ребят если кто-то работает с сокетами подскажите пожалуйста как осуществить подключение к сокет серверу из другова домена(не на котором сам сокет сервер)!!!

А то чё-то никто и не отвечает, один я тут сам с собой пишусь sad.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 10.11.2011 - 01:04
Сообщение #14


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4935
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
А то чё-то никто и не отвечает, один я тут сам с собой пишусь

Antoxer_92, ты просто в этой теме наиболее активен smile.gif. К тому же, вероятно, мало кто из участников форума сталкивался с теми проблемами, которые возникли у тебя.

Цитата
Подскажите пожалуйста, что нужно для решения моей проблемы!!!

Вначале соединись в рамках одного сервера, например, у себя на localhost, с флешки на сайте с сокет-сервером на этом же компьютере. Чтобы упростить себе задачу. А когда научишься это делать, тогда и возмёшся за меж-доменное сокет соединение (и возню с меж-доменными политиками). Никакие виртуальные машины тебе здесь не нужны, только программа сокет-сервер, которую ты запустишь на своём виртуальном хостинге и которая будет висеть на порту и обрабатывать запросы от твоей флешки.

Цитата
Оказывается для сокетных соединенений нужен свой файл политик, т.е. их должно быть 2 на сервере:

Так и есть. С сокетами свои особенности (и с каждой версией флеш-плеера их всё больше), о которых детально ты можешь прочитать в документации Адоба. Как я уже тебе рекомендовал ранее, вначале сделай работу сокетов на одном домене, а потом берись за меж-доменное соединение.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 10.11.2011 - 14:07
Сообщение #15


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1167
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



А я бы вообще, если речь именно о чате, а не о форуме или мессенджере, сделал бы чат на пир-ту-пир технологии, благо теперь это есть для флеша.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 13.11.2011 - 23:35
Сообщение #16


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



MustLive, на localhost у меня всё работает!!!

У меня флэшка и сокет-сервер лежит на виртуальном хосте.

Флэшку запускаю на Вконтакте.ру через IFrame контейнер, а сокет-сервре на компе. И в результате чего у меня валазила ошибка выше приведённая.

Флэшка даже вроде и не соединяется сокетными соединниями (при подключении видимо выдается ошибка выше приведённая), так вот только после подключения флэшка отправляет запрос ""<policy-file-request/" сначала на порт 843 и затем на порт указанный в подключении и затем ждет ответа, в качестве которого является файл политик и только потом смотрит есть ли тот или иной домен и порт там!!! А ведь если подключение не произошло соответственно и строковой запрос не был отправлен на сокет-сервер!!!

Тут дело даже ещё не дошло до файла политик!!! Так вот мне и непонятно почему эта ошибка вылазиет!!!

А про файлы политик я уже всё прочитал что там было на хэлпе от адоба и всё делаю как там было написано!!! Но тут просто напросто подключение то не происходит!!!


chingachgoog, мое приложение именно требует сокет-сервер, т.к. там не только чат!!! Вот именно приватное(один на один) общение (в моём случае) можно реализовать на p2p, так как если на сокет сервере перебрать весь список подключенных клиентов что бы найти именно того кому отправть - это будет занимать много ресурсов(ведь очень много пользователей будет одновременно переписываться), можно и по другому сделать: один клиент посылает на сокет-сервер сообщение и идентификатор пользователя(айди пользователя Вконтакте), которому он шлёт сообщение, сокет-сервер расссылает это сообщение всем клиентам, а дальше ограничение во флэшке(если полученный идентификатор совпадает с идентификатором пользователя то выводим сообщение), но опять же просто так тратятся ресурсы, ведь сокет сервер рассылает сообщение всем клиентам - делает пустую работу. Так сказать КПД в таком случае очень мал и равен 1/количество клиентов.

А p2p я ещё не разбирал как реализовать во флэшке!!! Я что-то где-то читал что на Адобе надо регится и сервак под приложение под p2p они дают, потом из флэшки надо сообщения слать туда и сервак этот будет оправлять сообщение сначала нескольким клиентам, потом эти клиенты будут тоже пересылать сообщения!!! Но в моем случае этого не надо, для приватного общения нужно сразу слать сообщение напрямую другому клиенту!!! Возможно ли это сделать, используя p2p???

Сообщение отредактировал Antoxer_92 - 13.11.2011 - 23:38
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 14.11.2011 - 00:58
Сообщение #17


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4935
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Тут дело даже ещё не дошло до файла политик!!! Так вот мне и непонятно почему эта ошибка вылазиет!!!

Antoxer_92

У тебя на сервере порт открыт, где стоит сокет-сервер? Т.к. если фаервол блокирует этот порт, то с других серверов (включая ВКонтакте) к нему не смогут подключиться. Помимо файлов политик, ты ещё и сервер должен настроить (в частности открыть порт для сокет-сервера).


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 14.11.2011 - 02:48
Сообщение #18


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



MustLive, маленько разобрался, строковой запрос приходит на сокет-сервер и в ответ я посылаю вот такую строку

s:='<?xml version=\"1.0\"?><cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"80,843,10014\" secure=\"true\" /></cross-domain-policy>обратный слэш0';

обратный слэш0 - это нулевой байт который необходимо записать - так написано в хелпе от адоба!!!! Я написал "обратный слэш" буквами а не символом обратного слэша т.к. что то форум не хочет его отображать вместе с нулём и пропадает и обратный слэш и ноль

s:= AnsiToUtf8(s);
ServerSocket1.Socket.Connections[i].SendText(s);


потом флэш разрывает соединение, как и должно быть и секунд через 5 - 10 во флэше вылазиет ошибка:

[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]

А дальше ничего не происходит

Тут дело наверное в том что файл политик не правильно написан sad.gif

Что здесь не так : <?xml version=\"1.0\"?><cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"80,843,10014\" secure=\"true\" /></cross-domain-policy>' ????? Вроде всё так как и должно!!! Данный пример нашел на одном из форумов, только там сокет-сервер был на php и из него отправлялась вот эта строка в качестве файла политик, там они и наставили обратные слэши перед двойными кавычками, хотя в оригинальном файле политик их нет, но я пробывал и без этих обратных слэшев перед двойными кавычками, вот так:

s:='<?xml version="1.0"?><cross-domain-policy><allow-access-from domain="*" to-ports="80,843,10014" secure="true" /></cross-domain-policy>обратный слэш0'';
s:= AnsiToUtf8(s);
ServerSocket1.Socket.Connections[i].SendText(s);


Но всёравно ничего не происходит!!!


По идее если файл политик соответствует и в нем прописаны нужный домен и порт то флэш сам должен разрывать соединение и заново подрубать!!! Но только разрывает => файл политик не правильно написан!!!

Сообщение отредактировал Antoxer_92 - 14.11.2011 - 04:20
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 14.11.2011 - 19:16
Сообщение #19


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1167
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Цитата(Antoxer_92 @ 13.11.2011 - 23:35) *
для приватного общения нужно сразу слать сообщение напрямую другому клиенту!!! Возможно ли это сделать, используя p2p???


Вряд ли. Все равно нужен сервер-маршрутизатор - это как раз адобовский. Или надо знать напрямую айпишники других компов, но вроде так пока нельзя.
Мы тут давали ссылки на стратус - надо поискать, что говорят. У меня до него так руки и не дошли пока. Но выглядит много проще сокетов (в смысле не надо заниматься серверным скриптом)


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 25.11.2011 - 20:28
Сообщение #20


Новичок
*

Группа: Пользователь
Сообщений: 30
Регистрация: 21.07.2011
Пользователь №: 10598



Ребят, заметил такой факт, что если когда флэш присылает запрос (<policy-file-request/>) на сокет-сервер, то если на этот запрос послать любую стороку('ыьуцоуцшсшуцосауцщшсуцо') а не строку с файлом политик, то флэш тут же отключается, а если строку с файлом политик, то отрубается секунд через 5, а это значит что файл политик всётаки отправляется, но что то флэш его отвергает!!!

Да кстати ещё нужно поставить в настройках флэша во вкладке publish settings снизу в combobox-е значение "access Network Only", а не "accsess Local filse Only"(значение по умолчанию)!!!

Я уже как и не пробывал этот файл политик менять, никак не получается!!! Что здесь такое!!!?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 2.04.2014 - 05:25