| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Получение данных через socket |
| Автор: klepa 29.8.2011, 10:38 | ||
| Всем доброго времени суток. При работе с сокетами столкнулась с такой проблемой. У меня в сети есть сервер, который пересылает данные определенной структурыЖ строка, в кторой 15 параметров, отделенных друг от друга запятыми. Строки разделены между собой вводом. Мне необходимо принимать эти строки, и забирать нужные мне данные. Максимально возможная длинна строки - 200 бит. Однако возникла проблема. каким образом вести прием чтобы не потерять данные (передача ведется непрерывно. порой даже доходит до десятка сообщений в секунду. хотя такое бывает редко) и каким образом разделить прием так, чтобы он у меня принимал именно одну строку? на данный момент у меня такой код:
Однако получается что в буфер записывается больше чем одна строка. Подскажите, пожалуйста. как можно решить эту проблему? |
| Автор: Олег2005 29.8.2011, 18:44 |
Непонятно, почему из потокового сокета вы считывает с помощью датаграммного чтения? recvfrom() работает иначе, чем recv() |
| Автор: Townsmen 31.8.2011, 21:22 |
| Посоветуйте хороший справочник, где исчерпывающе описаны все функции С++ в том числе функции recvfrom() и recv() |
| Автор: newbee 31.8.2011, 21:34 |
| http://www.unpbook.com |
| Автор: boostcoder 31.8.2011, 23:32 |
и - == противоречия. ибо с++ ничего не знает о сокетах. а последние, это Си функции. либо, для плюсов - http://www.boost.org/doc/libs/1_47_0/libs/asio/index.html. |