Всем привет! Пишу сервер на Perle и клиента к нему на C++(класс сам накропал - простая обертка С функций с отработкой ошибок по исключительным ситуациям). В классе методы: connect (здесь произвожу распознавание адреса сервера и подключение); write ( просто write в сокет ); read ( просто read из сокета ); сокет - TCP типа. Ситуация такая - если просто писать сообщение в сокет, то оно остается во внутреннем буфере и не передается, пока не завершить клиента по ^С. Если же добавить \r\n в конец сообщения, то оно передается. ВОПРОС - почему так работает и чем определяется такое "поведение". Со стороны сервера - если писать в клиент "сообщение" с помощью print и заканчивать \r\n а затем выдать клиенту приглашение типа "> " с помощью следующей команды print, то клиент может прочитать либо все, либо только "сообщение"\r\n. Эта фигня исчезает, если объединить две print в одну - например print( $client, "сообщение\r\n> "). С одной стороны как бы ясно, что при этом происходит передача всей последовательности символов за раз, но в середине есть \r\n и строка не заканчивается никакими ограничителями. Опять же ВОПРОС - почему. Кто готов поделиться опытом или же знает где почитать про это, мыльте плиз peter@sbank.elcom.ru (ICQ#8809276)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум чтение из сокета tcp/ip (2006)
- Форум библиотека для TCP/IP сокет подключений (2018)
- Форум TCP/IP (2004)
- Форум TCP/IP (2002)
- Форум TCP\IP (2006)
- Форум чайниковый вопрос (2004)
- Форум есть два tcp сокета (2019)
- Форум tcp-сокеты и tcl (2003)
- Форум [book]TCP/IP (2010)
- Форум ip over tcp (2005)