;)C++ сервер и java клиентский чат
Я пишу чат-программу с сервером C++ и java-клиентом.
Код функции, которая отвечает за прием сообщений от клиента:
void *recieve(void* *v)
{
while (true)
{
bzero(buffer, 256);
n = read(socketfd, buffer, 256);
if (n < 0)
exit(1);
printf("Client: %s", buffer);
}
}
код функции Тар ответственного отправлять сообщения на сервер просто:
ps.println(msg);
где ps - это печать.
Когда я отправляю сообщение серверу, скажите «привет мир» сервер C++ print: «Клиент: hello worldClient».
Буду признателен, если кто-то может мне помочь в этом. (Прошу прощения, если мой английский не очень хорошо) спасибо!
Пробовал ли вы использовать запись и запись только числа прочитанных байтов? И, как сказал Йоахим, не забудьте нулевой завершающий байт. X) – Naliwe
Кстати, вы пропустили важный случай в вашей проверке ошибок 'read': вы неправильно обрабатываете разъединения. –
@JoachimPileborg не ['bzero()'] (http://man7.org/linux/man-pages/man3/bzero.3.html) гарантирует, что нулевой ограничитель будет там, если менее 256 байт получено ? – Christophe