这篇文章给大家介绍怎么在python中利用多线程编写一个tcp客户端程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
代码如下:
fromsocketimport* importthreading tcp_socket=socket(AF_INET,SOCK_STREAM) tcp_socket.connect(('192.168.1.102',8080)) true=True defrece_msg(tcp_socket): globaltrue whiletrue: recv_msg=tcp_socket.recv(1024).decode("utf8") ifrecv_msg=="exit": true=False print('接收到的信息为:%s'%recv_msg) defsend_msg(tcp_socket): globaltrue whiletrue: send_msg=input('请输入要发送的内容') tcp_socket.send(send_msg.encode('utf-8')) ifsend_msg=="exit": true=False defmain(): whileTrue: print('*'*50) print('1发送消息\n2接收消息') option=int(input('请选择操作内容')) print('*'*50) ifoption==1: threading.Thread(target=send_msg,args=(tcp_socket,)).start() elifoption==2: threading.Thread(target=rece_msg,args=(tcp_socket,)).start() else: print('输入有误') break if__name__=='__main__': main()
该代码只能实现要么一直发送,要么一直接收
运行如图
发送数据时截图
接收数据时截图
为解决只能单方发送和接收问题,现将代码修改如下
fromsocketimport* importthreading tcp_socket=socket(AF_INET,SOCK_STREAM) tcp_socket.connect(('192.168.1.102',8080)) true=True defrece_msg(tcp_socket): globaltrue whiletrue: recv_msg=tcp_socket.recv(1024).decode("utf8") ifrecv_msg=="exit": true=False print('接收到的信息为:%s\n'%recv_msg) defsend_msg(tcp_socket): globaltrue whiletrue: send_msg=input('请输入要发送的内容\n') tcp_socket.send(send_msg.encode('utf-8')) ifsend_msg=="exit": true=False threading.Thread(target=send_msg,args=(tcp_socket,)).start() threading.Thread(target=rece_msg,args=(tcp_socket,)).start()
运行结果
关于怎么在python中利用多线程编写一个tcp客户端程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
python中变量的存储原理是什么
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
python怎么实现批量文件加密功能
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议