用socket写一个简单的聊天程序

服务端代码:

# 创建socket对象:socket.socket()——>绑定IP地址和端口:bind——>监听:listen——>
# 得到请求:accept——>接收请求:recv——>发送信息:send——>关闭close
import socket
server = socket.socket()  # 创建一个socket对象
ip_port = ('192.168.43.58', 8001)  # 给出IP地址和端口号
server.bind(ip_port)   # 绑定IP和端口
server.listen(5)  # 监听
conn, address = server.accept()  # 被动接收请求
while 1:
    content = input('服务端:')
    conn.send(content.encode('utf-8'))  # 发送信息
    from_client_msg = conn.recv(1024)  # 接收来自客户端的信息
    from_client_msg = from_client_msg.decode('utf-8')  # 解码来自客户端的信息
    print('来自客户端的信息:', from_client_msg)
    if from_client_msg == 'bye':  # 当客户端的信息为bye时结束聊天
         break
conn.close()  # 关闭通道
server.close()  # 关闭服务端
    
View Code

客户端代码:

# 创建socket对象:socket.socket()——>连接服务器:connect——>获取消息:recv——>发送消息:send——>关闭close
import socket
client = socket.socket()  # 创建socket对象
server_ip_port = ('192.168.43.58', 8001)  # 给出服务端的IP和端口
client.connect(server_ip_port)  # 连接服务端
while 1:
    from_server_msg = client.recv(1024)  # 接收来自服务端的信息
    from_server_msg = from_sever_msg.decode('utf-8')  # 解码来自服务端的信息
    print('来自服务端的信息:', from_server_msg)
    content = input('客户端:')
    client.send(content.encode('utd-8'))  # 发送信息到服务端
    if from_server_msg == 'bye':
        break
client.close()  # 关闭客户端
View Code

 # 客户端里面的两处输入错误: from_sever_msg改为:from_server_msg, utd-8改为:utf-8.

猜你喜欢

转载自www.cnblogs.com/Hsiyi/p/10003239.html