netcat有一个特点就是收发是不阻塞的。
使用nc -l 12345和nc localhost 12345
进行测试,可以看到实时的收发信息:

然而在python中socket在recv()的时候会进行阻塞,如果客户端和服务端都在等待接收会造成死锁,故特此编写了个简单的例子实现python socket编程同时收发。(当然也可以模仿netcat异步非阻塞编程,但要用到select)
服务端
1 | import socket |
客户端
1 | import socket |
现在python也能实时收发了

说些什么吧!