这篇文章主要讲解了Python3 socket即时通讯脚本的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
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()
先执行 服务端代码,再执行客户端代码,可以实现基本通讯功能
看完上述内容,是不是对Python3 socket即时通讯脚本的实现方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。