那位高手帮帮我啊?
我这个程序基本没代码的!
就是想学习idclient和idserver如何建立连接,如何发送和接受数据,
请高手们帮我做个示范啊!
越简单越好,
最好就做成客户端和服务端建立连接后,
如果客户端发个1给服务端,则服务端弹出个'1'的消息框,
如果服务端发个1给客户端,则客户端弹出个'1'的消息框,
在线等,希望高手看到了帮帮我啊!

解决方案 »

  1.   

    客户端:
    bitbtn.onclick中var s:stirng;
    begin
      if  not Tcpc.Connected then Tcpc.Connect;
      Tcpc.WriteLn('1');
      s:=Tcpc.Readln;
      showmessage('客户端接受:'+S);
    end;服务端:onexecute 事件中
    procedure TF_ServerForm.TCPSExecute(AThread: TIdPeerThread);
    var
      s:string;
    begin
      s:=AThread.Connection.ReadLn;
      showmessage('服务端接受:'+S);
      AThread.Connection.Writeln('2');
    end;
      

  2.   

    http://indy.fulgan.com/ZIP/Indy10demo.zip
      

  3.   

    Execute事件通常是在一个独立的线程当中执行的,如此写代码将会导致多个线程在ShowMessage当中阻塞。不管是实际应用代码,还是给人的示例代码,都不建议使用。更建议的方法是在窗体当中添加一个Memo,然后同步输出到Memo当中。
      

  4.   

    稍做补充
    我用的idtcpclient和idtcpserver控件
    首先服务器端
    加一个按钮,一个edit,一个idtcpserver控件,这个按钮的onclick事件下设置服务器的端口并且启动服务器
    idtcpserver1.defaultport:=strtoint(edit1.text);
    idtcpserver1.active:=true;
    这样就启动了服务器。客户端 加一个按钮,两个edit,一个idtcpclient
    设置客户端连接服务器端的ip地址和端口,并且发起连接
    idtcpclient1.host:=edit1.text;
    idtcpclient1.port:=strtoint(edit2.text);
    idtcpclient1.connect(5000);//连接
      

  5.   

    谢谢啦!
    不过我还有个问题,
    如果我要做个聊天的程序,(客户端和服务端聊天)
    要求:
    客户端向服务端发送聊天内容,服务端接到后,把接到的内容显示到memo中,
    服务端向客户端发送聊天内容,客户端接到后,把接到的内容显示到memo中.
    该怎么实现?
      

  6.   

    TCPSExecute应该是多线程的,所以在里面showmessage不会堵住才对,没试过