Здравствуйте.
Пытаюсь разобраться с сокетами.
И по ходу возникли вопросы:
От сервера я получаю xml-ки
Раньше делала так

Код:
sender=new LoadVars();
xml1=new XML();
xml1.ignoreWhite=true;
xml1.onLoad=function()
{
// действия1
}
sender.Request=send_xml1 (send_xml1 - xml-ка в виде строки);
sender.sendAndLoad(путь(имя_сервера+имя_серверного скрипта), xml1, "POST");
xml2=new XML();
xml2.ignoreWhite=true;
xml2.onLoad=function()
{
// действия2
}
sender.Request=send_xml2;
sender.sendAndLoad(путь(имя_сервера+имя_серверного скрипта), xml2, "POST")
Теперь хочу сделать такое же через сокеты
Делаю так

Код:
mySocket=new XMLSocket();
mySocket.onConnect=function()
{
trace('законнектились')
}
mySocket.connect(имя_сервера, порт)
С этим все ок
Дальше надо передать серверу 2 разных хмл и получить 2 ответа, которые надо по-разному обрабатывать

Код:
mySocket.onXML=function(XML_ответ)
{
// действия1 или действия2?
}
mySocket.send(send_xml1);
mySocket.send(send_xml2);
Вопрс№1: Как узнать, ответ на какой запрос пришел? Надо делать 2 сокет-соединения?
+раньше посылали запросы серверному скрипту, а сейчас только указываем имя сервера при коннекте. Но запросы же тоже должен обрабатывать какой-то скрипт..
Вопрос№2: Куда ж мы отправляем запросы, если не скрипту?
Дано еще такое:
Цитата:
Заголовок при соединении
* Певый байт, определяющий сжатие: 0х00 - без сжатия, 0х01 - сжатие GZip
* Второй байт, определяющий шифрования: 0х00 - без шифрования, 0х01 - шифрование DES
* Третий байт, указывающий на длину ключа в байтах (если нет шифрования, то 0х00)
* Ключ (если есть)
[править] Разделитель
Это последовательность из 4-х байт {0х00, 0xAA, 0xFF, 0xAA} которая должна отправляться после каждого сообщения.
[править] Окончания сеанса
При окончании сеанса отправляется <EXIT> и Разделитель.
|
Вопрос №3: Каким образом передать эту инфу серверу?