Вниз
Скачать: CL | DM;

WInSock API???   Найти похожие ветки 

 
Nigger ©   (2003-04-25 02:25) [0]

Мужики, пожалуста скажите как послать пакет через созданный сокет?? а то почему то соединение устанавливается, а данные не приходят (приходит 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);


 
Digitman ©   (2003-04-25 09:37) [1]

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);


А это зачем ?


 
Nigger ©   (2003-04-26 05:06) [2]

Это я так все урезал... спасибо за информацию.... только другая проблемма возникла функция recv возвращает строку - пробел (+#10) а нужно пакет с информацией получить... где-то в доке написано что recv производит запись данных в данный момент времени, может эта функция производит (в моей программе) запись предидущего или следующего пакета? - а то они как раз пустые идут... А как получить нужный???



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-97824
BaRToV
2003-06-02 02:43
2003.06.30
HTML Help WorkShop 4.74


14-97819
Andrey007
2003-06-11 10:23
2003.06.30
Вопрос по круглому кольцу.


3-97475
Goga
2003-06-04 14:14
2003.06.30
Событие WillChangeField


1-97625
paxer
2003-06-13 19:14
2003.06.30
Как отключить TAction


4-97916
tytus
2003-04-27 13:33
2003.06.30
Координаты




   Наверх