Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

WinSock и его функции   Найти похожие ветки 

 
Windows ©   (2007-01-09 20:46) [0]

program WinSock_Client;
{$APPTYPE CONSOLE}

uses
SysUtils,
winsock;
const
cPort = 33;
cSigExit = "q";
var
vWSAData : TWSAData;
vSocket : TSocket;
vSockAddr : TSockAddr;
buf : string;
begin
if WSAStartup($101,vWSAData)<>0 then Halt(1);
vSocket := socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if vSocket = INVALID_SOCKET then Halt(1);
FillChar(vSockAddr,SizeOf(TSockAddr),0);
vSockAddr.sin_family := AF_INET;
vSockAddr.sin_port := htons(cPort);
vSockAddr.sin_addr.S_addr := inet_addr("127.0.0.1");
if connect(vSocket,vSockAddr,SizeOf(TSockAddr)) = SOCKET_ERROR then Halt(1);
repeat
Readln(buf);
if send(vSocket,buf[1],Length(buf),0) = SOCKET_ERROR then Break;
//здесь
until buf = cSigExit;
closesocket(vSocket);
WSACleanup;
end.


даже стыдно спрашивать, тем более, что мне уже вроде как помогали, но так как тему закрыли, видимо ввиду ее исчерпанности, то пришлось создать новую...
но вот там где "//здесь" нужно что-то дописать, что бы коннект определить...
пробовал и WSAGetLastError, и recv, и send, и connect

функция recv\send возвращает WSAENOTCONN, а connect - WSAEISCONN, дак вот не работает...


 
Windows ©   (2007-01-10 10:55) [1]

неужели никто не знает!?


 
Сергей М. ©   (2007-01-10 11:07) [2]


> connect - WSAEISCONN


Судя по твоему коду, если дело дошло до строчки с вызовом send(), то вызов ф-ции connect() никак не мог вернуть SOCKET_ERROR (и уж тем более с кодом отказа WSAEISCONN)


> "//здесь" нужно что-то дописать, что бы коннект определить


Его не надо определять.
Он есть при выполнении условия :
send/recv(...) <> SOCKET_ERROR



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

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.032 c
5-1147508616
_duk
2006-05-13 12:23
2007.01.28
DBGrid


2-1167820697
DeadMeat
2007-01-03 13:38
2007.01.28
Скроллбар в DBAware компонентах


15-1168538869
Kerk
2007-01-11 21:07
2007.01.28
Как бы выглядел Google, если б он был Yahoo


2-1168369905
vovik
2007-01-09 22:11
2007.01.28
Перенос компонентов из delphi7 в delphi10


15-1167733252
Slider007
2007-01-02 13:20
2007.01.28
С днем рождения ! 2 января





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский