10月19日略微升级的服务器和客户端

发布时间 2023-10-19 18:46:45作者: songjunwan

略微升级的服务器和客户端

和之前那个的区别点在于服务器可以一直接受客户端的数据

服务器代码如下

import socket

# 生成一个socket对象
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址跟端口号
soc.bind(('172.17.8.49', 8080))
# 开启服务器
soc.listen(3)

# 先来一个等待连接循环
while True:
    print('等待客户端连接')
    # 等候客户端来连接,conn相当于连接通道,addr是客户端的地址
    conn, addr = soc.accept()
    print('有个客户端连接上了', addr)  # 这里显示客户端的IP地址以及端口
    # 这里再写一个接收客户的循环
    while True:
        try:
            data = conn.recv(1024)  # 将收到的客户端数据赋值给data
            #这里添加一个解码的过程
            data = data.decode('utf-8')
            if len(data) == 0:
                break
            print(data)

        except Exception:
            break#这里终止的是这个接收循环




    # 关闭与客户端的接口
    conn.close()




# 关闭服务器唯一的接口
soc.close()

客户端代码

import socket
soc = socket.socket()
soc.connect(('172.17.8.49', 8080))
while True:
    fasong = input('请输入要发送的数据')
    #还需要将发送的数据进行编码
    soc.send(fasong.encode('utf-8'))