每一个idtcpclient连上idtcpserver都有一个athread。
请问idtcpserver怎么给指定的客户发消息。有无简单的例子。。
比如我有四个客户连上了。怎么发啊?

解决方案 »

  1.   

    当一个client连接上tcpserver时。他会触发connet这个动作?这样的话。是否我要在这里为每个用户都设置一个线程
    然后发信息时。根据线程来为那个用户发送数据?不过好像别人不是这样写的。我随便看了下灰鸽子去窗体的远控的源码。在这个connet里没有代码的。
    xxxx.IdTCPServer1Connect(AThread: TIdPeerThread);
    一连接上一个客户。就分配一个tidpeerthread类型么?
      

  2.   

    最简单的是在TidTCPServer的OnExecute中处理;由于Indy采用阻塞模式,不同的客户端连上会启用不同的线程,也就是写在OnExecute中的代码本身就是针对不同的链接的。当然,如果需要,可在onConnect事件中为Context赋值。
      

  3.   

    楼上的。。比如现在已有4台tcpclient的连到tcpserver上了。怎么给指定的一台发送东东。。比如这个onexecute发一条欢迎信息。是可以。每个连上的都可以看到。
    这个指定一个指令比如关机的指令发给a这台机。这个怎么知道他的线程?是要在onconnect里为每个上线的指定一个么?