![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Народ, подскажите как преобразовать массив intoв в строку. Создаю массив чисел, рандомом заполненных, но мне нужно передать с помощью сокетов эти числа, а функция send() отправляет только строку типа string как быть? Передавать не обязательно числа, на сервере никакой обработки не будет, просто по факту получение и всё.
Это сообщение отредактировал(а) iPlay - 11.6.2011, 09:25 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
нет. функция send() отправляет массив байтов: http://linux.die.net/man/2/send а отправить нужно в виде строки интов? или в виде raw массива байт? Это сообщение отредактировал(а) boostcoder - 11.6.2011, 09:43 |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Только если отправлять просто переменные появляется надпись при компиляции
![]() error C2664: 'send' : cannot convert parameter 2 from 'int' to 'const char *' + стоит учесть что это winsock ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ответа на свой вопрос так и не получил.
вот два варианта. выбирайте сами.
http://liveworkspace.org/code/6007ce272d3e...f8f4eadb9e02122 |
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
С предыдущим разобрался , не пойму теперь почему сервер принимает только одну строку и всё, хотя я в клиенте в цикле отправляю 5-6 строк? Сервер сразу после приема первой строки завершает работу.
|
|||
|
||||
asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
||||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
А как узнать что соединение было закрыто?
|
|||
|
||||
asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
recv вернет 0
|
|||
|
||||
iPlay |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Чёто не получается:( Не могу понять как цикл сделать??? Основывая на текущем примере.
while (ret!=0){ } виснет.. |
|||
|
||||
asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
или посылайте все в одном пакете, или поставьте в конце спец пакет который указывал бы на конец передачи, или закрывайте соединение после отправки последнего пакета (http://msdn.microsoft.com/en-us/library/ms738547%28v=vs.85%29.aspx)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |