在使用 ServerSocket和多个ClientSocket通讯  进行有选择的发送给不同的 ClientSocket  怎样做最好,问题是ServerSocketxc.socket.connections[i].sendtext(trim(strrecord)); 这样发送的   区别各自的ClientSocket  不是怎么好区别 ,大家对这样的问题是怎么  区别的呢

解决方案 »

  1.   

    我就是接把TclientSocket命名写CSocketi,或者ClentSocket1UserLogin,用编号加作用命名
      

  2.   

    楼上的 你理解错了吧  问题是这样的 一个ServerSocket可以和很多ClientSocket进行通讯,问题是我的信息的有选择的发送给某个ClientSocket  不是把信息发给所有的ClientSocket,  怎样才能更好的区别开 不同的ClientSocket
      

  3.   

    1. ServerSocketxc.socket.connections[i].SocketHandle是个具有唯一性的整数值,可以用它来唯一标识某个Client的连接。2. 在Client完成连接和登录时,用多个数组分别记录下它的SocketHandel以及将来是否发送某类信息给它的标志(或者说这个Clinent的登录信息所决定的这个Client在Server上的操作权限)。3. 在Server发送数据时,根据ServerSocketxc.socket.connections[i].SocketHandle值,在数组中查找它所对应的标志以决定是否发送数据给这个Client。
      

  4.   

    to  jadeluo   你的说法我没有看的特别明白,能不能 写点部分的代码呢
      

  5.   

    我的ServerSocket接了20多个ClientSocket。我的做法是每个ClientSocket连接ServerSocket后,发送一个绑定的数据报,数据报中包含唯一的ClientID,作为ServerSocket查找的依据。需要维护一张ServerSocket的Socket分配表,应该不是很困难
      

  6.   

    to borgvardt(maximius  我也是按照这个思路做的,问题是如果用户数量很多的话 ,根据信息检索完 在发给某一个用户那里   时间的速度问题是很大的啊