Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

WinSock под Делфи

3.0K
09 января 2003 года
fedor
1 / / 09.01.2003
Привет всем!
У кого-нибудь есть опыт программирования см. тему?
Проблема такая: при вызове функции recvfrom компилятор выдает сообщение об ошибке - [Error] Unit1.pas(116): Types of actual and formal var parameters must be identical. Платформа - W2k, Delphi5.
Кусок кода привожу ниже:

GetMem(BufrRecvd,255);
SockAddr.sin_family:=AF_INET;
SockAddr.sin_port:=Htons(32767);
//здесь, ессно, адрес нормальный
SockAddr.sin_addr.S_addr:=inet_addr('x.x.x.x');
SockAddrFrom.sin_family:=AF_INET;
SockAddrFrom.sin_addr.s_addr:=INADDR_ANY;
SockAddrFrom.sin_port:=Htons(32767);
WSAStartup($02,wsadat);
Socket1:= socket(AF_INET,SOCK_RAW,IPPROTO_IP);
if Socket1 = -1 then
begin
MessageBox(Form1.Handle,PChar('Ошибка создания сокета: '+IntToStr(WSAGetLastError)),
'Soket', MB_OK);
Exit;
end;
BufrSend:='0000000000';
TmpInt:=SendTo(Socket1,BufrSend,Length(BufrSend),0,SockAddr,SizeOf(SockAddr));
if TmpInt = SOCKET_ERROR then
begin
MessageBox(Form1.Handle,PChar('Ошибка передачи блока данных: '+IntToStr(WSAGetLastError)),
'Soket', MB_OK);
CloseSocket(Socket1);
Exit;
end;
TmpInt:=RecvFrom(Socket1,BufrRecvd,Length(BufrRecvd),0,null,null);
if TmpInt = SOCKET_ERROR then
begin
MessageBox(Form1.Handle,PChar('Ошибка приема блока данных: '+IntToStr(WSAGetLastError)),
'Soket', MB_OK);
CloseSocket(Socket1);
Exit;
end;
...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог