Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


А это зачем ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо