python的socket连接不上_Python套接字只允许一个连接,但在新的连接上断开,而不是拒绝...

我不确定我完全理解你的问题,但我认为下面的例子可以满足你的要求。服务器可以断开旧用户的连接,为新用户提供服务。在

服务器端:#!/usr/bin/env python

import socket

import multiprocessing

HOST = '127.0.0.1'

PORT = 50007

# you can do your real staff in handler

def handler(conn, addr):

try:

print 'processing...'

while 1:

data = conn.recv(1024)

if not data:

break

print data

conn.sendall(data)

conn.close()

print 'processing done'

except:

pass

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

s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR, 1)

s.bind((HOST, PORT))

s.listen(5)

processes = []

while True:

conn, addr = s.accept()

print conn, addr

[p.terminate() for p in processes] # to disconnect the old connection

# start process newer connection and save it for next kill

p = multiprocessing.Process(target=handler, args=(conn, addr))

processes = [p]

p.start()

newest_conn = conn # this is the newest connection object, if you need it

对于测试,客户端:

^{pr2}$

试试看:-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值