|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.11.2013, 20:09 | #1 |
Форумчанин
Регистрация: 30.12.2010
Сообщений: 280
|
Передать данные int с помощью сокета
Здравствуйте.
Подскажите пожалуйста как с помощью сокета нужно передавать данные имеющие тип не char. Передавал массив данных с типом char и все передавались нормально, а вот как например отправить массив с типом int? Так передаю result=SDLNet_TCP_Send(sock, serverData, serverLength); Так принимаю len=SDLNet_TCP_Recv(client, serverData, 400); Спасибо за внимание. Последний раз редактировалось gunsoy; 05.11.2013 в 20:12. |
05.11.2013, 20:44 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
int var = 123;
SDLNet_TCP_Send(sock, (char*) &var, sizeof(var)); Довольно примитивно и платформенно-зависимо, но работать будет. |
05.11.2013, 21:37 | #3 |
Форумчанин
Регистрация: 30.12.2010
Сообщений: 280
|
Спасибо за помощь.
Правильно я понял что получать данные нужно так len=SDLNet_TCP_Recv(client, (char *) &serverData,400); Почему-то получаю такие данные 1) 1077936128 2) 1107820544 А отправил я 1) 3 2) 34 И что значит платформенно-зависимо? На каких ОС не будет работать? |
05.11.2013, 22:26 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Сколько передали, столько и должны получить... Отправляете int а почему-то читаете serverData.
Работать будет на всех OS, только одни процессоры little endian, другие big endian - порядок байт в int на разных процессорах может быть разным. Вот, почитайте на досуге: http://ru.wikipedia.org/wiki/%D0%9F%...82%D0%BE%D0%B2 |
06.11.2013, 18:03 | #5 |
Форумчанин
Регистрация: 30.12.2010
Сообщений: 280
|
serverData это массив из int
int serverData[400]; len=SDLNet_TCP_Recv(client, (char *) &serverData,400); waleri Вот, почитайте на досуге Спасибо за ссылку не знал этого=( Есть ли какой-нибудь кроссплатформенный способ решения этой проблемы? |
06.11.2013, 18:27 | #6 |
Форумчанин
Регистрация: 30.12.2010
Сообщений: 280
|
Нашел то что нужно для биг литле эндиан
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как получить из MySQL данные типа int, double и др. | Mackey_ | C/C++ Базы данных | 7 | 05.04.2013 09:27 |
функция float average(int arrray[],int from,int to) | yuliyayuliya | Помощь студентам | 0 | 25.04.2011 21:55 |
Передать данные в интернет | CKorpion | Работа с сетью в Delphi | 3 | 07.08.2010 12:38 |
Как проверить полученны/переданны ли данные от сокета? | zotox | Помощь студентам | 2 | 17.08.2009 22:29 |
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел | vipER | Помощь студентам | 1 | 22.09.2007 22:08 |