|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.06.2014, 13:52 | #1 |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
Как отправлять ЦЕЛЬНЫЕ сообщения через socket
Здравствуйте. Функции write и read в библиотеке сокетов отправляют и получают какое-то рандомное количество байт!
Вот я, например, отправляю строку "a\n". Потом строку "b\n". Потом строку "c\n". А получаю(через read) строку "a\nb\nc\n". Посоветуйте, как сделать по-нормальному? Т.е. отправлять по строке и получать тоже по строке. Спасибо. |
24.06.2014, 14:29 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Никак, протокол этого не гарантирует.
|
24.06.2014, 14:39 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А ты перед строкой отправляй длину отправляемого. А на считке считывай в буффер, пока длина пришедшего не будет равна той что отправлена. Потом работай со считанным, очищай буфер и снова считывай следующий пакет данных. Я по крайней мере так делал.
I'm learning to live...
|
24.06.2014, 14:59 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
пишите прикладной протокол, транспортный протокол вам не обязан это гарантировать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
25.06.2014, 07:32 | #5 |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
Всем спасибо, тема закрыта.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как заставить Delphi отправлять Self через регистр ecx? | WhiskasTM | Общие вопросы Delphi | 4 | 20.03.2014 17:15 |
Socket не отсылает сообщения через SEND и не принимает | vaan.sk | C/C++ Сетевое программирование | 1 | 22.06.2011 20:57 |
Как передать структуру через socket | moiav | Общие вопросы C/C++ | 6 | 18.05.2011 16:27 |
IRC подключиться, отправлять, принимать сообщения. | ZBEP | Работа с сетью в Delphi | 1 | 18.01.2010 14:17 |