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()
先执行服务端代码,再执行客户端代码,可以实现基本通讯功能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。