Python TCP Socket 实现 client 与 server 单线程对接聊天服务

作者: Jintao
日期:2021-11-2
简介: Python TCP Socket 实现 client 与 server 单线程对接聊天服务在这里插入图片描述

  • 初步的实现了

Server.py

import socket
import collections

Client = collections.namedtuple('Client', ['name', 'id', 'addr'])
client_info = []

tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# print(tcp_server_socket)
tcp_server_socket.bind(("127.0.0.1", 8082))
# 端口 0-65535    0-1024给操作系统使用
tcp_server_socket.listen(5)  # 最大挂起的链接数

# 接受数据
print('Server Starting...')
client_socket_id, client_addr = tcp_server_socket.accept()

# Safety Connect
client_name = client_socket_id.recv(1024).decode('utf-8')
print("'{}' has been successfully enter the Conference".format(client_name))
client_info.append(Client(str(client_name), client_socket_id, client_addr))
cond = "success"
client_socket_id.send(cond.encode('utf-8'))

while True:
    try:
        data = client_socket_id.recv(1024) # 接受最大1024个字节  bytes
        print("客户端数据", data.decode('utf-8'))

        # client_socket_id.send(data.upper()) # upper: 大写
        recv_data = input(">>")
        client_socket_id.send(recv_data.encode('utf-8'))

    except ConnectionResetError:            # 如果客户端断掉的情况
        break

client_socket_id.close()
tcp_server_socket.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xujintao1000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值