Python3 socket即时通讯脚本实现代码实例(threading多线程)
Python提供了两个级别访问的网络服务。:
低级别的网络服务支持基本的Socket,它提供了标准的BSDSocketsAPI,可以访问底层操作系统Socket接口的全部方法。
高级别的网络服务模块SocketServer,它提供了服务器中心类,可以简化网络服务器的开发。
------------------------------------------------服务端代码--------------------------------------
__author__="托尼老师"
"""
即时通讯原理
@@@服务端代码
"""
fromsocketimport*
importthreading
ip='0.0.0.0'
port=8888
#定义socket参数
Server=socket(AF_INET,SOCK_STREAM)
Server.bind((ip,port))
Server.listen()
print("[*]SocketServer正在监听...")
#接受函数
defrecvs():
while1:
print('[*]客户端说:%s'%client.recv(1024).decode('utf-8'))
#发送函数
defsends():
while1:
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__="托尼老师"
"""
即时通讯原理
@@@客户端代码
"""
fromsocketimport*
importthreading
ip,port='127.0.0.1',8888
Client=socket(AF_INET,SOCK_STREAM)
Client.connect((ip,port))
defsends()->'发送函数':
while1:
say=bytes(input("[*]我说:"),encoding='utf-8')
Client.send(say)
defrecvs()->'接受函数':
while1:
print('[*]服务端说:%s'%Client.recv(1024).decode('utf-8'))
receive=threading.Thread(target=recvs,args=())
receive.start()
#创建发送线程
send=threading.Thread(target=sends,args=())
send.start()
先执行服务端代码,再执行客户端代码,可以实现基本通讯功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。