Re: сокеты. размер сообщения.
От: Kemm  
Дата: 29.11.05 09:27
Оценка:
Здравствуйте, klmn, Вы писали:

K>Добрый день!

K>Есть клиент-серверное приложение, которое обменивается данными через сокеты (socket( AF_UNIX, SOCK_STREAM, 0)).
K>Посылаются сообщения при помощи функций send(to) recv(from).

K>Вопрос:

K>При получение указывается размер получаемого сообщения. Т.е. если в сокете есть 2 сообщения размерами 100b и 50b, а при считывании читается 150b, то получается конкатенация 2-ух сообщений, что совсем мне не нужно.

Указывается не размер получаемого сообщения, а размер буфера для приема. Это разные вещи.

K>Вопрос в том, как отделить сообщения друг от друга, что бы они могли быть разного размера???

K>Существуют ли стандартные пути?

Да. Свой протокол поверх tcp. Варианты:
1) заголовок с длиной сообщения
2) маркер конца сообщения
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.