WinSock. recvfrom
От: akexeyss  
Дата: 21.08.05 12:57
Оценка:
Добрый день. Столкнулся с такой проблемой: по сети передается массив вида
« int arr[160][256] », приемник решил сделать с помощью winSock (UDP протокол), но функция recvfrom
(int recvfrom(SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int* fromlen
)
в качестве буфера для данных использует указатель на char, и принять int у меня не получается. Как можно решить такую проблему?
p.s. или всё так просто, что это даже нельзя проблемой назвать


23.08.05 11:43: Перенесено модератором из 'C/C++. Прикладные вопросы' — Павел Кузнецов
Re: WinSock. recvfrom
От: Anton Batenev Россия https://github.com/abbat
Дата: 21.08.05 17:06
Оценка:
Здравствуйте, akexeyss, Вы писали:

A>Добрый день. Столкнулся с такой проблемой: по сети передается массив вида

A>« int arr[160][256] », приемник решил сделать с помощью winSock (UDP протокол), но функция recvfrom
A>(int recvfrom(SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int* fromlen
A>)
A>в качестве буфера для данных использует указатель на char, и принять int у меня не получается. Как можно решить такую проблему?
A>p.s. или всё так просто, что это даже нельзя проблемой назвать

Ну и преобразуй к нужному типу

int* intbuf = (int*)buf;

Вот только... 160 * 256 * sizeof(int) = 163840 байт, что как-то явно многовато для одной датаграмы...
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.