Форум: "Сети";
Текущий архив: 2011.03.06;
Скачать: [xml.tar.bz2];
ВнизПолучение данных TCPServer Найти похожие ветки
← →
d@vinchi © (2009-02-24 19:39) [0]Подскажите как с помощью компонента TCPServer получить данные, которые не в "заголовке" пакета, а в теле "пакета", т.е. в обработчике события TcpServer1Accept методом ClientSocket.Receiveln успешно читается заголовок пакета, а вот как получить следующие за ним данные?
← →
Сергей М. © (2009-02-24 19:55) [1]Чем "заголовок пакета" принципиально отличается от "данных" ?
← →
d@vinchi © (2009-02-24 20:13) [2]дело в том что при чтении данных методом Receiveln я получаю не все содержимое пакета, выяснил путем прослушивания трафика программкой wireshark. Когда я получаю данные методом Receiveln то получаю примерно следующее:
INVITE sip:ocs@domain.ru SIP/2.0
ms-user-data: ms-publiccloud=true;ms-federation=true
Record-Route: <sip:ocs.domain.ru:4065;transport=tcp;maddr=x.x.x.x;ms-role-rs-to;lr>;tag=8DA612C8238CD08A57C32B55380FE55C
Via: SIP/2.0/TCP x.x.x.x:4065;branch=z9hG4bKDBB9A545.046C869F;branched=FALSE
...
Content-Type: application/csta+xml
этот же пакет wireshark получает так:Message Header
INVITE sip:ocs@domain.ru SIP/2.0
ms-user-data: ms-publiccloud=true;ms-federation=true
Record-Route: <sip:ocs.domain.ru:4065;transport=tcp;maddr=x.x.x.x;ms-role-rs-to;lr>;tag=8DA612C8238CD08A57C32B55380FE55C
Via: SIP/2.0/TCP x.x.x.x:4065;branch=z9hG4bKDBB9A545.046C869F;branched=FALSE
...
Content-Type: application/csta+xml
Message Body
<?xml version="1.0"?><RequestSystemStatus xmlns="http://www.ecma-international.org/standards/ecma-323/csta/ed3"><extensions>.......
Судя по тому что wireshark разбил пакет на заголовок и тело пакета, я предположил что последняя строка в отдельном блоке данных - в любом случае методом Receiveln она не читается, а нужно ее достать!!!
← →
Сергей М. © (2009-02-25 08:17) [3]Что значит "не читается" ?
← →
brother © (2009-02-25 09:23) [4]а она должна возвращать?
← →
d@vinchi © (2009-02-25 09:42) [5]to Сергей М.: значит что Receiveln не возвращает эту строку...
to brother: предпологаю что нет, может эта строка передается в потоке или еще как...
← →
brother © (2009-02-25 09:46) [6]> to brother: предпологаю что нет, может эта строка передается
> в потоке или еще как...
может хватит гадать? прочитай в справке...
← →
d@vinchi © (2009-02-25 09:49) [7]еслибы я в справке нашел ответ тут бы не задавал глупых вопросов - все осложняется что с приемом\передачей данных по сети сталкиваюсь впервые и времени как обычно нет...
уважаемый, brother, без обид - лучше умничать по делу...
← →
brother © (2009-02-25 09:50) [8]код получения показывай!)
← →
d@vinchi © (2009-02-25 10:03) [9]
procedure TForm1.TcpServer1Accept(sender: TObject; ClientSocket: TCustomIpClient);
var
s: string;
begin
repeat
begin
s:=ClientSocket.Receiveln;
if s <> "" then Memo1.Lines.Add(s);
end
until s = "";
end;
← →
Сергей М. © (2009-02-25 10:07) [10]
> d@vinchi
Чему у тебя равно св-во BlockMode ?
← →
d@vinchi © (2009-02-25 10:12) [11]bmThreadBlocking
← →
Сергей М. © (2009-02-25 10:25) [12]В доп.потоке обращение к виз. VCL-контролам недопустимо.
Обработчик OnAccept в случае bmThreadBlocking выполняется в доплнительном потоке.
← →
d@vinchi © (2009-02-25 10:31) [13]т.е. надо использовать не зизуальный компонент? что тогда использовать (желательно с аналогичным примерчиком)?
← →
Сергей М. © (2009-02-25 10:35) [14]
> надо использовать не зизуальный компонент?
Ты что вообще сотворяешь ? SIP-прокси что ли ?
← →
Сергей М. © (2009-02-25 10:43) [15]Читать
http://www.niits.ru/public/2003/011.pdf
п.7.5.1 непосредственно связан с темой твоего вопроса
← →
d@vinchi © (2009-02-25 10:43) [16]ну можно сказать и так, вообще больше SIP-шлюз...
← →
Сергей М. © (2009-02-25 10:49) [17]Ну тогда читай этот док-т до полного просветления.
Работа с транспортом по этому протоколу практически не отличается от работы по протоколу HTTP, а по HTTP-серверам в Тырнете навалом примеров
← →
d@vinchi © (2009-02-25 11:01) [18]Сергей М. - огромное спасибо за информацию!!! в п.7.1.5. действительно решение!!!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2011.03.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.002 c