python的实验过程中的问题_windows下用Python进行select套接字实验时,返回的r_list问题。...

window下利用select验证套接字读写,但是select返回的r_list文件描述符集似乎是不变的,代码如下,求解答,谢谢

相关代码

接收端:

import select,socket

sk=socket.socket()

sk.bind(("127.0.0.1",5002))

sk.listen(5)

inputs=[sk]

outputs=[]

while True:

r_list,w_list,e_list=select.select(inputs,outputs,inputs,1)

print(r_list)

print("正在监听的端口数:%d"%len(inputs))

for sk_conn in r_list:

if sk_conn==sk:

conn,addr=sk.accept()

conn.recv(1024)

inputs.append(conn)

print(inputs)

else:

try:

rec=sk_conn.recv(1024)

except Exception as ex:err

else:

print("收到:"+str(rec,encoding="utf-8")

发送端:

import socket

ck=socket.socket()

ck.connect(("127.0.0.1",5002))

ck.sendall(bytes("hello",encoding="utf-8"))

ck.close()

你期待的结果是什么?实际看到的错误信息又是什么?

发送端sendall一次后关闭,接收端r_list应该经历从0-1(sk)-2(sk,conn)-0,的过程,但是实际上r_list之后一直有1个文件描述符conn。

bVbfxSo?w=1046&h=154

这是为什么?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值