第二十七章 TCP 客户端 服务器通信 - 连接管理
连接管理
服务器一次只维护一个连接。如果第二个客户端在另一个连接打开时尝试连接,则 TCP/IP
将该客户端放入队列中。在队列中时,第二个客户端可以像已连接一样写入端口。第二个客户端写入的数据保留在缓冲区中,直到第一个连接关闭并且第二个客户端连接。
如果第二个客户端在连接存在之前发出 READ
,它就会挂起。当第二个客户端在队列中时,第三个客户端的任何连接尝试都会失败。
如果已经打开 TCP
设备的客户端在第一个连接仍然存在时尝试第二次连接,则第二个 OPEN
命令会导致<COMMAND>
错误。将这种情况视为错误而不是 USE
命令可以防止出现意外结果。如果一个错误的程序认为它打开了一个新连接,而实际上它正在重用一个可能具有不同目标或不同参数的现有连接,则可能会出现这种意想不到的结果。