用的是IdTCPServer和IdTCPCLient
计划是服务端能有实时刷新的客户端列表(包括主机名和IP),客户端之间能自由通讯;
现在想使客户端能发送一命令得到所有在线客户端的信息(IP和主机名)也就是服务端的那个客户端列表;
不知道该如何下手,希望各位大大帮忙,最好能给出例子。

解决方案 »

  1.   


    這個應該是客戶端上線後,發指令讓服務端發給你就行了。因為你用的是TCP來做的
      

  2.   

    比如这样定义
      enumcmd=(cmdlogin,cmduserlist,cmdaddonline,cmddelonline);再定义各个数据包TLoginData=record
      username,
      password:string[100];
    end;TUserlist=record
      userlist:array[0..8192] of char;
    end;TUserData=reocr
      username:string[100];
    end;
    客户端向服务器发送登录请求cmdlogin,TLoginData,服务器验证,合法用户则服务器添加到在线列表中,然后向这个客户端发送在线列表cmduserlist,TUserlist,同时向其他客户端发送添加一个在线用户的命令cmdaddonline,TUserData有客户端断开连接时,服务器从在线列表中找到这个用户,删除它,同时向其他在线用户,广播减少一个在线用户的命令cmddelonline,TUserData
      

  3.   

    indy9中的DEMO 有个chat,完全可以满足你的要求
      

  4.   

    to shuaihan20e
    谢谢,亏我还一直在找例子..就在DEMO里有,呵呵