怎么在python中利用多线程编写一个tcp客户端程序
这篇文章给大家介绍怎么在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如何快速精准抓取网页数据
本文将使用requests和beautifulsoup这两个流行的库来实现。1.准备工作首先安装必要的库:pipinst...
-
使用Python实现IP地址和端口状态检测与监控
-
基于Python打造一个智能单词管理神器
-
Python实现微信自动锁定工具
-
使用Python创建一个功能完整的Windows风格计算器程序
python实现windows系统计算器程序(含高级功能)下面我将介绍如何使用python创建一个功能完整的windows风格计...
-
Python开发文字版随机事件游戏的项目实例
随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型。在这类游戏中,玩家必须应对随机发生的情况,这些情况可能会影响他们的资...
-
使用Pandas实现Excel中的数据透视表的项目实践
引言在数据分析中,数据透视表是一种非常强大的工具,它可以帮助我们快速汇总、分析和可视化大量数据。虽然excel提供了内置的数据透...
-
Pandas利用主表更新子表指定列小技巧
一、前言工作的小技巧,利用pandas读取主表和子表,利用主表的指定列,更新子表的指定列。案例:主表:uidname0...
-
Pandas中统计汇总可视化函数plot()的使用
-
Python中tensorflow的argmax()函数的使用小结
在tensorflow中,argmax()函数是一个非常重要的操作,它用于返回给定张量(tensor)沿指定轴的最大值的索引。这个...
