var
   wsaData:tWSADATA;
   addr:sockaddr_in;
   ulTime:ulong;
   ulTemp:^ulong;
   s:tSOCKET;
   nRtn:integer;
   iResult,iRead:integer;
   su:array[0..3] of Byte;
   sut:^Byte;
   t:integer;
begin
ulTime:=0;
if (FWSAStartup(MAKEWORD(2,2),wsaData)<>0) then
                                               begin
                                               showmessage('初始化错误!');
                                               end;
s:=FOpenSocket(AF_INET,SOCK_STREAM,0);
if (s=INVALID_SOCKET) then
                          begin
                          showmessage('socket初始化错误!');
                          end;
FillChar(addr,0,sizeof(sockaddr_in));
addr.sin_family := AF_INET;
addr.sin_port := fhtons(IPPORT_TIMESERVER);
addr.sin_addr.s_addr := finet_addr('129.6.15.29');
sut:=@ulTemp;
if (FConnect(s,addr,sizeof(addr))=0)
                                      then
                                         begin
                                         iRead:=0;
                                         iResult:=0;
                                         while true do
                                         begin
                                         iResult:=recv(s,sut,4-iRead,0);
                                         iRead:=iRead+iResult;
                                         inc(sut,iRead);
                 if(iResult < 1) then break;
                                         if(iRead>=4) then break;
                                         end;
                                         end;
FWSACleanup();
ulTime:=ulTemp^;
ulTime:=ntohl(ulTime);
edit1.Text:=inttostr(ulTime div 21536000);