客户端:
var
  svrAddr :TSockAddrIn;
  sid :Integer;
  sbuff :array[0..11] of char;
  cc :PChar;
  wsaData :TWSAData;
begin
  WSAStartup($0002, wsaData);
  sid := socket(AF_INET,  SOCK_STREAM, 0);
  svrAddr.sin_family := AF_INET;
  svrAddr.sin_addr.S_addr := inet_addr('127.0.0.1');
  svrAddr.sin_port := htons(2577);  if connect(sid, svrAddr, sizeof(svrAddr)) = SOCKET_ERROR then
  begin
    showMessage('Can''t connect');
    exit;
  end;
  recv(sid, sbuff, 1024, 0);
  Edit1.Text := sBuff;
  shutdown(sid, 2);
  closesocket(sid);
end;服务端:
var
  Sid, SidNew :integer;
//  svrAddr :PsvrAddr;
  svrAddr :TSockAddrIn;
  Plen :Pint;
  len :Integer;
  sbuff :array[0..11] of char;
begin
  svrAddr.sin_family := AF_INET;
  svrAddr.sin_addr.S_addr := inet_addr('127.0.0.1');
  svrAddr.sin_port := htons(2577);  Sid := socket(AF_INET, SOCK_STREAM, 0);
  if  bind(Sid, svrAddr, sizeof(svrAddr)) < 0 then
  begin
    ShowMessage('Error In Server Bind');
    exit;
  end;  if listen(Sid, 1) < 0 then
  begin
    Showmessage('Error in Socket Listen');
    exit;
  end;  len := sizeof(svrAddr);
  SidNew := accept(Sid, @svraddr, @len);
  if SidNew < 0 then
  begin
    ShowMessage('Error In Server Accept');
    exit;
  end;  shutdown(sid, 2);
  closesocket(sid);
  sbuff := ‘aaa’;
  send(SidNew, sbuff, 1024, 0);
  shutdown(Sidnew, 2);
  closesocket(sidNew);
  
end;客户端在读取数据完后出现存取违规错误, 通过断点调试,已成功从服务端获取数据。