|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.03.2012, 23:26 | #11 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
Всё готово и сервер и клиент есть, как мне теперь сделать так чтоб полученное сообщение ни только отправлялось к клиенту но и выводилось в сервере?
вот пример: Код:
|
05.03.2012, 00:04 | #12 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Подробнее пожалуйста: в чем засада?
|
05.03.2012, 00:12 | #13 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
это цикл который занимается извлечением сообщений от клиента и возвратом их обратн. так вот мне надо чтоб это сообщение которое поступает от клиента send(my_sock, &buff[0], bytes_recv, 0); ни только отправлялось клиенту обратно но и выводилось у сервера. Если я делаю так cout << buff[0] << endl; то выводится только первая буква сообщения
Код:
|
05.03.2012, 00:39 | #14 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Похоже на то что в buff - юникодная строка
типа: 'a' 0 'b' 0 'c' 0 0 юникод конечно условно, просто двухбайтовая кодировка Последний раз редактировалось EUGY; 05.03.2012 в 00:41. |
05.03.2012, 00:45 | #15 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
printf(buff); вот так вот выводит как положено только за сообщением следует непонятная груда символов, как отсечь эти лишние символы ? я так понимаю выводится весь буфер char buff[20 * 1024];
|
05.03.2012, 00:47 | #16 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
а что возвращает recv
|
05.03.2012, 01:03 | #17 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
намёк на sizeof(buff) это?
надо как то сделать чтоб длина введённых символов равнялась длине выводимых? |
05.03.2012, 01:23 | #18 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
что есть строка - массив символов.
Признак окончания ansi-строки - нулевой байт, в двухбайтовой - два нулевых байта. Это называется нуль-терминатор. Есть char buff[SZ]; Поставь нуль-терминатор в соответствии с bytes_recv. |
05.03.2012, 02:02 | #19 |
Форумчанин
Регистрация: 14.02.2012
Сообщений: 105
|
Это вот этот символ '\0' ? если да то в данном случае я не знаю куда его ставить
|
05.03.2012, 02:14 | #20 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
buff[bytes_recv] = 0;
printf(buff); Последний раз редактировалось EUGY; 05.03.2012 в 02:18. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Корпоративная система обмена сообщениями | Dimka55 | C# (си шарп) | 1 | 29.11.2011 11:14 |
алгоритм для обмена сообщениями | bammm | PHP | 13 | 02.03.2011 18:26 |
Вопрос о способе обмена сообщениями | Beyounder | Общие вопросы .NET | 2 | 02.08.2009 00:40 |
Delphi. Консольное приложение для работы с txt. файлом | MexX | Помощь студентам | 1 | 13.05.2009 09:37 |
Простой клиент обмена сообщениями | eks-s | Работа с сетью в Delphi | 1 | 04.03.2008 01:03 |