www.pudn.com > comm11111.rar > system.c
#include#include static int ListenSock; void DownListen(int Sig) { sockClose(ListenSock); ShowMsg("DownListen\n"); exit(0); } int main(int argc,char *argv[]) { int ChildPid; int sock; char Sock[20]; SIGNAL(DownListen); if ((ListenSock=sockServerOpen(atoi(argv[1]),atoi(argv[2])))<=0) {ShowMsg("Listen Sock failed\n"); exit(0);} sockLook(ListenSock); while(1) { if ((sock=sockListen(ListenSock))<=0) { printf("listen sock failed\n");continue;} sockLook(sock); switch (ChildPid=fork()) { case -1: sockClose(sock); printf("fork failed\n"); break; case 0: sockClose(ListenSock); sprintf(Sock,"%d",sock); execlp("tcpconnect","tcpconnect",Sock,NULL); printf("execl failed\n"); sockClose(sock); exit(0); break; default: sockClose(sock); break; } } }