99网
您的当前位置:首页模仿netcat写的python socket通信程序

模仿netcat写的python socket通信程序

来源:99网

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

import socket
from threading import Thread

sock = socket.socket()
sock.bind(('127.0.0.1', 10235))
sock.listen(1)
conn, addr = sock.accept()
print('connected:', addr)

def recv():
    while True:
        data = conn.recv(1024).decode()
        if not data: break
        print("Received:"+data)
def send():
    while True:
        conn.send(input().encode())

Thread(target=recv).start()
Thread(target=send).start()

客户端

 import socket
from threading import Thread

sock = socket.socket()
sock.connect(('127.0.0.1', 10235))
def recv():
    while True:
        data = sock.recv(1024).decode()
        if not data: break
        print("Received:"+data)
def send():
    while True:
        sock.send(input().encode())

Thread(target=recv).start()
Thread(target=send).start()

现在python也能实时收发了

因篇幅问题不能全部显示,请点此查看更多更全内容