Python3 socket即时通讯脚本实现代码实例(threading多线程)
作者:Angelo_start 时间:2022-05-20 08:52:17
Python 提供了两个级别访问的网络服务。:
低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。
高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。
------------------------------------------------服务端代码--------------------------------------
__author__ = "托尼老师"
"""
即时通讯原理
@@@ 服务端代码
"""
from socket import *
import threading
ip = '0.0.0.0'
port =8888
# 定义 socket 参数
Server = socket(AF_INET,SOCK_STREAM)
Server.bind((ip,port))
Server.listen()
print("[*] SocketServer 正在监听...")
# 接受函数
def recvs():
while 1:
print(' [*] 客户端说: %s '% client.recv(1024).decode('utf-8'))
#发送函数
def sends():
while 1:
say = bytes(input(' [*] 我说: ') , encoding='utf-8')
client.send(say)
# 堵塞接受请求
client,client_ip = Server.accept()
print(client_ip[0] +':'+str(client_ip[1])+' 连接成功!' )
# 创建接受线程
receive = threading.Thread(target =recvs ,args=() )
receive.start()
# 创建发送线程
send = threading.Thread(target =sends ,args=() )
send.start()
------------------------------------------------客户端代码--------------------------------------
__author__ = "托尼老师"
"""
即时通讯原理
@@@ 客户端代码
"""
from socket import *
import threading
ip,port ='127.0.0.1',8888
Client = socket(AF_INET,SOCK_STREAM)
Client.connect((ip,port))
def sends() -> '发送函数':
while 1:
say = bytes(input("[*]我说: "),encoding='utf-8')
Client.send(say)
def recvs() -> '接受函数':
while 1:
print('[*] 服务端说: %s ' % Client.recv(1024).decode('utf-8'))
receive = threading.Thread(target =recvs ,args=() )
receive.start()
# 创建发送线程
send = threading.Thread(target =sends ,args=() )
send.start()
先执行 服务端代码,再执行客户端代码,可以实现基本通讯功能
来源:https://blog.51cto.com/13876557/2499449
标签:Python,socket,脚本,threading


猜你喜欢
VS Code安装go插件失败原因分析以及解决方案
2024-04-26 17:24:08

大数据量分页存储过程效率测试附测试代码与结果
2024-01-15 00:49:21
Python操作PDF实现制作数据报告
2022-05-09 21:41:51

pytorch中的model.eval()和BN层的使用
2023-09-21 17:06:10
Python+Tkinter实现简单的画图软件
2021-11-11 17:25:45

FastApi+Vue+LayUI实现前后端分离的示例代码
2024-04-30 10:22:48

python开启多个子进程并行运行的方法
2022-02-21 12:33:30
Python的时间模块datetime详解
2023-10-17 01:36:48
PHP动态生成javascript文件的2个例子
2024-05-11 09:25:44
Python 异常处理实例详解
2021-10-14 05:36:39
Oracle 删除大量表记录操作分析总结
2024-01-22 20:36:12
PyQt 线程类 QThread使用详解
2021-09-18 05:51:37
Dreamweaver行为体验
2007-02-03 11:39:00
如何优化Mysql千万级快速分页
2024-01-17 03:37:47
Python提取支付宝和微信支付二维码的示例代码
2021-04-08 19:38:42

Go语言实现的可读性更高的并发神库详解
2023-07-20 08:03:49

python 切换root 执行命令的方法
2021-10-16 22:33:43
Vue工程模板文件 webpack打包配置方法
2024-05-10 14:15:40
一个功能更强大的字符串格式化函数
2008-04-30 17:44:00
Web2.0时代的网页视觉设计
2008-07-13 14:07:00
