都是在DELPHI 7控制台程序下编写的。就是客户端根本收不到服务器端的消息。
真是头疼,请大家帮忙,不然可能就学习部下去了。我已经弄了一晚上了
首先是服务器端的代码:
program Project1;{$APPTYPE CONSOLE}uses
  SysUtils,
  WinSock,
  windows;Var
  s,cs :TSocket;
  w :WsaData;
  version :Word;
  sin,rsin :sockaddr_in;
  n :integer;
  b :pchar;
begin
    version :=makeword(2,2);
  WSAStartUp(Version,w);
  sin.sin_family :=af_inet;
  sin.sin_port :=htons(4567);
  sin.sin_addr.S_addr :=inaddr_any;
  socket(s,sock_stream,0);
  bind(s,sin,SizeOf(sin));  listen(s,2);  n :=SizeOf(rsin);
  getmem(b,5);
  b :='12345';  while true do
    begin
      cs :=accept(s,@rsin,@n);
      if cs=invalid_socket then
        continue
      else
        begin
          if send(cs,b,strlen(b),0)=SOCKET_ERROR then
           Writeln('send error');            closesocket(cs);
            break;
        end;
    end;
  closesocket(s);
  readln;  
end.
 然后是客户端的代码:
program Project2;{$APPTYPE CONSOLE}uses
  SysUtils, winsock,windows;var
  s :TSocket;
  w :WsaData;
  version :Word;
  sin :sockaddr_in;
  b :pchar;
  
begin  { TODO -oUser -cConsole Main : Insert code here }
  version :=makeword(2,2);
  { TODO -oUser -cConsole Main : Insert code here }
  WSAStartUp(Version,w);
  
  socket(s,sock_stream,0);
  sin.sin_family :=af_inet;
  sin.sin_port :=htons(4567);
  sin.sin_addr.S_addr :=inet_addr('127.0.0.1');  connect(s,sin,Sizeof(sin));
  getmem(b,5);
  b :='00000';
  recv(s,b,strlen(b),0);  writeln(b);  
  closesocket(s);
  readln;
end.

解决方案 »

  1.   

    起步再高一点,使用delphi7带的indy组件实现网络文件传输,里面包括了传送字符串
    http://www.delphifans.com/SoftView/SoftView_836.html
      

  2.   

    建议用成品的组件,比如TServerSocket,TClientSocket
      

  3.   

    创建socket,bind,listen,accept都没有捕获错误,你捕获错误试下,是不是有失败的
      

  4.   

    刚才写了个, 源代码下载
    http://www.ahjoe.com/source/srcdown.asp
      

  5.   

    建议使用Indy ClientSocket和Indy ServerSocket的VCL第三方控件
      

  6.   

    我和楼主的问题有点互补,,我是用Indy ClientSocket和Indy ServerSocket的VCL第三方控件
    我在本机测试通过的。可以连接,发送接收消息,但是在本机外的其他朋友机里面就连接不到,
    要是连接上,接收传递文字不是问题。我的帖子里有源码,可以参考下。http://topic.csdn.net/u/20090817/14/da51a948-7ade-4892-b49a-00c2d9c6a890.html?68517标题是: delphi 利用indy简单构建通讯的问题