使用python实现的一个简单的TCP通信。
本文基于python3.5,主要涉及到两个包socket和threading。
客户端简单实现如下,详见注释:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import socket import threading
def recv(skt): '''接收线程调用的函数 接受并输出收到的内容''' while True: data = skt.recv(1024) print(data.decode('utf-8'))
if __name__ == "__main__": s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 6666))
t = threading.Thread(target=recv, args=[s]) t.start()
send_str = '' while send_str != 'exit': send_str = input('input what you want to send:\n') s.send(send_str.encode('utf-8')) s.close()
|
服务器简单实现如下,详见注释:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import socket import threading
def recv(skt): '''接收线程调用的函数 接受并输出收到的内容''' while True: data = skt.recv(1024) print(data.decode('utf-8'))
if __name__ == "__main__": s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 6666))
t = threading.Thread(target=recv, args=[s]) t.start()
send_str = '' while send_str != 'exit': send_str = input('input what you want to send:\n') s.send(send_str.encode('utf-8')) s.close()
|
https://github.com/aillieo/python-socket是一个稍微复杂一点的实例,更多可以参考socket的文档。