服务器用ServerSocket打开监听后,我用ClientSocket连接他,连接成功,这个时候另外一台机器用样的程序连接他,连接成功,那我的服务器怎么区分着两台机器 
我想到的是留记号,因为发送回去的时候可以用下面的代码kServerSocket.Socket.Connections[x].SendText()
但是,我无法得知连接连接分配给他的X是多少 
谁能告诉我,万分感谢。

解决方案 »

  1.   

    连接的时候有个Accept事件,在这个事件当中有个Socket参数,使用Socket->SocketHandle来区分
      

  2.   

    建议你可以用 Thread 来处理,每一个 Thread 处理一个 Client, 如此绝不会弄错。
      

  3.   

    对最好通过线程进行出来,每一个client连接时服务器段可以收到一个动态IP和端口,通过这个就可以了。
      

  4.   

    循环用
    ServerSocket1.Socket.Connections[i].RemoteAddress
    ServerSocket1.Socket.Connections[i].RemotePort
    就能够判断区分所有的连接了吧。在这里,你的一个ServerSocket连接多个ClientSocket,非阻塞情况下所有ClientSocket对ServerSocket的通讯产生的是同一个事件,用多线程你也很难处理的。