![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinSock приходят неверные данные
syned © (2005-12-26 12:35:00)Помогите если кто сталкивался с таокй проблемой, отправляю данные с клиентского приложения, все нормально данные уходят(смотрел в дебаггере), на сервер данные приходят, считывается такое же количество байт как и отправляется, но данные искажаются...
Slym (2005-12-26 13:04:00) [21]WSAStartup($0101, data);
s := socket(AF_INET,SOCK_DGRAM,0);
// заполнение addr
addr.sin_family := AF_INET;
addr.sin_port := htons(55566);
FillChar(addr.sin_zero,sizeof(addr.sin_zero),0);
len := sizeOf(TSockAddr);
t := SendTo(s,PChar(Edit1.Text)^,Length(Edit1.Text),0,addr,len);
if t <> Length(Edit1.Text) then
ShowMessage('Error send')
else
ShowMessage('Send complete');
syned (2005-12-26 13:04:00) [22]buf, был динамическим массивом...
syned (2005-12-26 13:03:00) [23]WSAStartup($0101, data);
s := socket(AF_INET,SOCK_DGRAM,0);
// заполнение addr
addr.sin_family := AF_INET;
addr.sin_port := htons(55566);
FillChar(addr.sin_zero,sizeof(addr.sin_zero),0);
len := sizeOf(TSockAddr);
t := SendTo(s,buf,Length(Edit1.Text),0,addr,len);
if t <> Length(Edit1.Text) then
ShowMessage('Error send')
else
ShowMessage('Send complete');
Reindeer Moss Eater (2005-12-26 12:59:00) [24]Динамические массивы D несовместимы с требуемым здесь типом массива байт.
Slym (2005-12-26 12:58:00) [25]syned © (26.12.05 12:51) [2]
Незя так!
Динамический массив низя!
Код отсылки приема в студию
syned (2005-12-26 12:51:00) [26]буффер описываю как массив байт
buf : array of byte
и передаею именно buf, если передать buf^ пишет, pointer type required
Slym (2005-12-26 12:47:00) [27]Стандартная ошибка:
Отправляешь/Принимаень указательна буфер, а не буфер (то что оребуется)