我刚学的delphi。关于SOcket函数找不到专门delphi的教材,现在看的书上例子都是C的代码,所以很多例子都实验不出来有些函数不容易理解。哪位能提供一个完整的服务器和客户端程序的代码,感激不尽了。
以下是我把C语言例子大概翻译成Delphi的服务器代码,不太理解的是:1.如何在 while   1>0   的无限循环时跳出来?2、客户端程序调用connect函数时的IP地址如何设置?var   
    s,newsock:TSocket;   
    ser_addr:TSockAddrIn;   
    remote_addr:PSockAddr;   
    leng:Integer;   
    wsa:WSAData;   
    wVersionRequested:WORD;   
    buf:array[0..128]of   char;   
    buf2:array[0..128]of   char;   
  begin   
    //new(leng);   
    wVersionRequested   :=   MAKEWORD(   2,   0   );   
    WSAStartup(wVersionRequested,wsa);   
    s   :=   socket(AF_INET,SOCK_STREAM,0);   
    ser_addr.sin_family   :=   AF_INET;   
    ser_addr.sin_addr.S_addr   :=   htonl(INADDR_ANY);   
    ser_addr.sin_port   :=   htons(4000);   
    
    bind(s,ser_addr,sizeof(ser_addr));   
    
    listen(s,0);   
    while   1>0   do   
        leng:=   sizeof(remote_addr);   
        newsock   :=   accept(s,remote_addr,@leng);   
        begin   
        if   recv(newsock,buf,sizeof(buf),0)>0   then   
            begin   
            writeln('Client   Data:',buf);   
            Readln(buf2);   
            send(newsock,buf2,sizeof(buf2),0);   
            end;   
        closesocket(newsock);   
        end;   
    
    closesocket(s);   
    WSACleanup();   
    sleep(2000);   
  end.