![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WInSock API??? [D7, WinXP]
Nigger © (2003-04-25 02:25:00)Мужики, пожалуста скажите как послать пакет через созданный сокет?? а то почему то соединение устанавливается, а данные не приходят (приходит 1 пустой пакет, а отправляется два)
Вот код:
var
packet: string;
x: integer;
x:=recv(S,buf,sizeof(Buf),0);
if (x=SOCKET_ERROR)or(buf[1]<>"+") then exit;
packet:="12345";
send(s,packet,length(packet),0);
listen(s,1);
Nigger (2003-04-26 05:06:00) [1]Это я так все урезал... спасибо за информацию.... только другая проблемма возникла функция recv возвращает строку - пробел (+#10) а нужно пакет с информацией получить... где-то в доке написано что recv производит запись данных в данный момент времени, может эта функция производит (в моей программе) запись предидущего или следующего пакета? - а то они как раз пустые идут... А как получить нужный???
Digitman (2003-04-25 09:37:00) [2]1.
> x:=recv(S,buf,sizeof(Buf),0);
Какого типа переменная buf ?
2.
> if (x=SOCKET_ERROR)
Если это условие выполнится, то где запрашивается и анализируется код ошибки WSAGetLastError() ?
3.
> send(s,packet,length(packet),0);
второй параметр в ф-ции send() д.б. указателем на буфер строки
ты же передаешь не указатель, а переменную типа string
где приведение типа ?
4.
ф-ция send() возвращает результат. Где анализ этого результата ?
5.
> listen(s,1);
А это зачем ?