前言
很久没写博客了呢。这次是要用 python 实现一个简单的 TCP 客户端,在主线程中发送信息,然后子线程中接收信息,这样就不会因为 socket 接收信息的阻塞而影响速度了。
环境
- win10 1909
- python 3.7.5
程序实现
不说废话了,直接把程序贴上来吧~
import time
import socket
import threading
socket_flag = False
socket_msg = ""
clientSocket = None
def SocketReceive(clientSocket):
''' Socket 接收线程。'''
global socket_flag, socket_msg # 通过全局变量,让外部可以控制线程的运行,也可以处理信息
while socket_flag:
try:
recvData = clientSocket.recv(64)
except socket.timeout: # 忽视掉超时
continue
if len(recvData) > 0