工控机的操作不走 不太多(比起WIN32),可以才用这样的办法

解决方案 »

  1.   

    首先你可以用serversocket.Socket.RemoteAddress来得到远程连接的客户机
    当一号机发信息时,此时的网络处于阻塞状态,二号机不能发信息。
    如果一号机的数据量非常大,那么TCP/IP会将其分成多个IP包发送。在包与包之间二号机能发送自己的数据。但是这时候serversocket与一号机是连接状态,没有断开,不可能响应二号机的连接请求。所以二号机也不能发数据。
    要使二号机能发数据就要在serversocket与一号机连接时再创建一个serversocket放入一个新线程中接收其他机器的响应信号。(这里我没有注意看,serversocket在接受一个连接之后是不是开了线程另外放了一个监听接收其他机器连接要看看源代码才知道,不过Delphi6的TCPClient和TCPServer控件是解决了这个问题的,可以直接用。)