python_tcp服务端多人聊天

import socket


def create_socket():
    """创建套接字"""
    # return socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    return sock

def bind_listen(socket):
    """绑定ip和端并且监听服务"""
    socket.bind(('192.168.1.129',8089))
    print('端口绑定完毕。。。。')
    socket.listen()
    print('监听服务完毕')

def recv_send(socket):
    """接收和发送数据"""
    for _ in range(3):
        # 等待客户端连接,并接受连接
        res = socket.accept()
        print('接受客户端连接:{}'.format(res))
        # 创建出一个新的套接字专门用于服务连接的指定客户端
        new_socket, c_addr = res
        # 接受客户端发送的数据
        while True:
            data = new_socket.recv(1024)
            print('客户端说:{}'.format(data.decode('gbk')))
            if data.decode('gbk') == 'bye':
                break
            # 向客户端发送数据
            data = input("服务器说:").encode('gbk')
            new_socket.send(data)
        new_socket.close()
    print('服务停止........')

def close_socket(socket):
    """关闭套接字"""
    socket.close()

if __name__ == '__main__':
    socket = create_socket()
    bind_listen(socket)
    recv_send(socket)
    close_socket(socket)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值