考虑在Windows 7机器上通过本地主机上的ncat进行TCP通信:
>ncat -4kvvl 127.0.0.1 5001 Ncat: Version 7.12 ( https://nmap.org/ncat ) Ncat: Listening on 127.0.0.1:5001 Ncat: Connection from 127.0.0.1. Ncat: Connection from 127.0.0.1:52840. BAM NCAT DEBUG: Closing connection.
>echo BAM | ncat -4vv 127.0.0.1 5001 Ncat: Version 7.12 ( https://nmap.org/ncat ) NCAT DEBUG: Using trusted CA certificates from ... libnsock nsock_iod_new2(): nsock_iod_new (IOD #1) libnsock nsock_connect_tcp(): TCP connection requested to 127.0.0.1:5001 (IOD #1) EID 8 libnsock nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:5001] Ncat: Connected to 127.0.0.1:5001. libnsock nsock_iod_new2(): nsock_iod_new (IOD #2) libnsock nsock_read(): Read request from IOD #1 [127.0.0.1:5001] (timeout: -1ms) EID 18 libnsock nsock_readbytes(): Read request for 0 bytes from IOD #2 [peer unspecified] EID 26 libnsock nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 26 [peer unspecified] (6 bytes): BAM .. libnsock nsock_write(): Write request for 6 bytes to IOD #1 EID 35 [127.0.0.1:5001] libnsock nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 35 [127.0.0.1:5001] libnsock nsock_readbytes(): Read request for 0 bytes from IOD #2 [peer unspecified] EID 42 libnsock nsock_trace_handler_callback(): Callback: READ EOF for EID 42 [peer unspecified] libnsock nsock_trace_handler_callback(): Callback: READ EOF for EID 18 [(null):-1] close: Result too large
我在terminalB中第一次运行ncat,在TCP connection requested to 127.0.0.1:5001挂起大约1秒钟。 套接字的状态为SYN_SENT和SYN_RCVD( 截图 )。
在随后的运行中(terminalA中的ncat -k一直在监听),连接立即build立,这是我所期望的,也可以在其他Windows 7和Linux系统上看到。
我觉得这种创buildTCP连接的延迟会减慢软件的速度(例如连接到同一台机器上的内核的IPython控制台)。
这是怎么回事?
附加信息: