Tcp/Ip 组件 TcpServers TcpClient 已不同于Delphi v6.0 之相关组件,Borland 之样例
   
   \internet\chat 没有提供TcpServers 发送代码 ,不知怎样用,请专家指教,
   使用Delphi v6.0之TcpServers.Socket.connecter[0].SendBuffer 显然不行。
   第一个问题:  TcpServers 怎样主动发送代码给 Client (比如在Button上)?    
 Delphi v7.0 中 Udp 组件 Borland 没有样例 ,使用Delphi v7.0 编制的代码只能发送,
     不能接收,即使在UDP.OnRecevier 消息中只写一行代码 例ShowMessage('1234567');
     也不见任何反应,怀疑Delphi v7.0 可能有问题,Delphi v7.0难道还不如Delphi v6.0 ?
     第二个问题:  UDP怎样收?请专家指教。
     
Delphi v6.0 中没有任何问题。  
 感谢 quida(焯)   ,ly_liuyang(Liu Yang) 
     

解决方案 »

  1.   

    我用UDP可以接收和发送,
    Indy组件是第三方VCL组件,不依赖于Delphi的版本,
    你可以到Indy的主页上下载安装。包括Demo不过我在用UDP时发生问题,Server端的程序会随机停止响应,奇怪奇怪,
      

  2.   

    我有点怀疑那个TCPSERVER是否开发完成了,
      

  3.   

    tmd,那个TCPServer简直郁闷,整了2天了,没明白怎样从server向tcpclient发送数据并接收
      

  4.   

    这个问题我也刚刚搞清楚。我认为是这样的:TCpServer为了保护多客户(线程)连接、发送问题,在接受完客户的连接后(onAccept事件)就会转换为close_wait状态,等待新的连接请求,此时无法直接和server通讯。
    因此,如果要和TCpServer通讯,发送和接收数据都需要在onAccept事件中完成。
    在客户端,如果要接受服务器发回的信息,必须调用一次TcpClient.Receiveln;然后才能触发onReceive事件。因为它不象ClientSocket自动检查接收缓冲区