700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python——通过socket实现服务器端和客户端的聊天

python——通过socket实现服务器端和客户端的聊天

时间:2021-12-01 04:23:18

相关推荐

python——通过socket实现服务器端和客户端的聊天

前言:本文讲解涉及到python中socket函数用法,需要巩固基础知识的可以查看下面博客

python——Socket网络编程(详细讲解)(一)_xiaofengdada的博客-CSDN博客_socket编程python

python——Socket网络编程(详细讲解)(二)_xiaofengdada的博客-CSDN博客

服务端代码:

#通过socket实现服务器端和客户端的在线聊天import socket #导入socket模块s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接,套接字家族为AF_INEThost = '0.0.0.0' #设置本地主机作为地址port = 30000#设置端口s.bind((host,port)) #绑定地址和端口s.listen()#开始监听conn,addr = s.accept()#建立客户连接print('连接的地址和端口:', addr) # 输出响应地址127.0.0.1和一个任意监听的地址的端口while True:data = conn.recv(1024) # 接受数据为1024字节if data.decode() == 'close':breakelse:print(f'客户端发送的数据:{data.decode()}')data_res = input("服务端:")if data_res == 'close':conn.send(data_res.encode())breakelse:conn.send(data_res.encode())s.close()#会话关闭conn.close()#连接关闭

客户端代码:

#客户端import socket #导入socket模块c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#声明socket类型面向连接,套接字家族为AF_INEThost = '127.0.0.1' #设置本地主机作为地址,必须跟客户端一样port =30000 #设置端口,必须跟客户端一样try:c.connect((host, port)) # 绑定地址和端口,必须跟客户端一样except Exception as e:print('服务端不存在!')while True:data_res = input("服务端:")c.sendall(data_res.encode())#发送信息data = c.recv(1024)#接受服务器端的数据为1024字节data = data.decode()#解码接受到的数据print("接收到服务器的数据为:",data)if data_res == 'close':breakc.close()#连接关闭

最终实现效果:

先运行服务器端,建立通信,再运行客户端。

服务端输出结果:

客户端输出结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。