python实现简易聊天需要登录_python用socket实现简单的聊天一个服务器和多个客户端聊天...

用python中的socket和多线程用来实现一个服务端多个客户端构建聊天服务器

server

import threading

import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

host = '127.0.0.1'

port = 8888

server_socket.bind((host, port))

server_socket.listen(2)

def handle_socket(sock, addr):

while 1:

try:

res = sock.recv(1024).decode('utf-8')

if not res:

print('关闭', addr)

break

print(res)

word = input()

sock.send(word.encode('utf-8').strip())

except ConnectionResetError as e:

print(e)

print(addr, '关闭')

break

sock.close()

while 1:

# 用线程去处理其他连接用户

conn, address = server_socket.accept()

print(conn, address)

connect = threading.Thread(target=handle_socket, args=(conn, address))

connect.start()

server_socket.close()

client

import socket

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

host = '127.0.0.1'

port = 8888

client_socket.connect((host, port))

while 1:

word = input()

client_socket.send(word.encode('utf-8').strip())

data = client_socket.recv(1024).decode('utf-8')

print(data)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值