大家好:
    请教一下,现需要用idTcpServer和idTcpClient写一通信程序,一服务器端,多客户端,想请教一个,在通信过程中,有些东西是要保存
    例如
       把变量fielname定义为函数外的全局变更,在IdTCPServer1Execute里给它付值,但会有多个客户端同时去连接,那就是等于说IdTCPServer1Execute全同时被多个线程同时调用,fielname同时会被多个线程在付值 ,这个应该在用互斥吧?但,另外,最后一个IdTCPServer1Execute付完值后,fielname的值就只有一个了,现在想做到,这个变量跟客户端对应,一个客户端对应一个这样的变量,同一客户端,多次通信中,值不变。不同的客户端就有多个filename这个变量,他们互不影响。

解决方案 »

  1.   

    如果对每个客户端都需要保留一个不一样的变量的话,可以做一个record或者类,在每一个客户端连接进来后,为其创建一个新的记录,保留他的信息,你是可以知道客户端的标识的,所以用这个标识与记录对应,这样可以查找是否已经存在这个客户的信息
      

  2.   

    如果连接很多的话,用Record保存必要的信息,如果都保存在内存中的话,岂不是很吃内存,保存到数据库不知道效果怎么样