serversocket的connections是动态的
当第一个人connections[0]走后 第二个客户就由connections[1]变为connections[0]
确定某个联结要用socket sockethandl

解决方案 »

  1.   

    因为每一个SOCKET连接都是一个线程,系统会自动释放
    你自己实验一下就明白了:
    在FORM的SHOW事件中CONNECTED:=TRUE,在CLOSE中CONNECTED:=FALSE
    你可以看到连接数目的自动修改
      

  2.   

    在远程数据模块中创建和退出时需要写什么额外的代码进行释放吗?
    procedure Tre_data.RemoteDataModuleCreate(Sender: TObject);
    beginend;   procedure Tre_data.RemoteDataModuleDestroy(Sender: TObject);
    beginend;
      

  3.   

    Socketconnect是面向连接的通讯协议,所以上面的说的很正确。
    估计你的问题出在应用服务器上。
    1、建议将应用服务器写成一个NT服务。
    2、建议采用多实例、单线程方式。
      

  4.   

    可是在第二个客户还未退出之前第一个客户端就进不去了.不会吧,zzutlink(来溜达)说的没错,多一个客户端联系上就多个线程,你把scktsrvr.exe激活,后在它的Users里就能看到,客户端没有联系了,服务器程序也就自动关闭!