python利用socket实现简单聊天通信
程序员文章站
2022-07-07 15:15:22
...
服务端代码(s.py):
import socket
# 1、创建服务端的socket对象
sk = socket.socket()
# 2、绑定一个ip和端口
sk.bind(("127.0.0.1",8888))
# 3、服务器端一直监听是否有客户端进行连接
sk.listen(5)
while 1:
# 4、如果有客户端进行连接、则接受客户端的连接
conn,addr = sk.accept() # 返回客户端socket通信对象和客户端的ip
# 5、客户端与服务端进行通信
rev_data = conn.recv(1024)
print('服务端收到客户端发来的消息:%s' % (rev_data.decode('GB2312')))
# 6、服务端给客户端回消息
conn.send(input("请输入:").encode('GB2312')) #http协议
show_str = "关闭了"
conn.send(show_str.encode('GB2312'))
# 7、关闭socket对象
conn.close()
客户端代码:
import socket
# 1、创建socket通信对象
clientSocket = socket.socket()
# 2、使用正确的ip和端口去链接服务器
clientSocket.connect(("127.0.0.1",8888))
# 3、客户端与服务器端进行通信
# 给socket服务器发送信息
while 1:
send_data = input("请输入:")
clientSocket.send(send_data.encode('GB2312'))
# 接收服务器的响应(服务器回复的消息)
recvData = clientSocket.recv(1024).decode('GB2312')
print('客户端收到服务器回复的消息:%s' % (recvData))
# 4、关闭socket对象
clientSocket.close()
通过本地端口进行相互通信
在文件目录下按shift+右键进入powershell
输入py s.py 打开服务
在文件目录下按shift+右键进入powershell
输入py c.py打开客户端