我做了一个服务器端和多个客户端相连接的程序,让服务器给客户端传输文件。如果此时有多个客户端连接,那么服务器如何知道是哪个客户端与服务器相连并且给该客户端传输文件呢

解决方案 »

  1.   

    通过 Winsock 数组控件,为每一个请求连接的客户端建立一个数组成员。同时,维护一个对照列表。
    以后可以在 DataArrival 事件中通过 Index 来判断是哪一个客户发来请求。同时用
        Winsock1(Index).SendData "......"
    的方式向相应客户发送消息。
      

  2.   

    将相应的index设成某个客户端的代号.
      

  3.   

    跟踪连接机器的IP,局域网里的IP可以保证唯一性
    如果是公网的IP,可能存在IP重复的情况,则可另外附加条件保证唯一性对于每个连接
    如:
    IP + 连接时间 + 访问帐号 + 四位随机校验位  
    按照这个规则生成一个连接通道如 19216800001020040820081010User00ACE1192.168.0.1 + 2004/08/20 08:10:10 + user00 + ACE1
    一般就没什么大的问题了个人观点,仅供参考