从对象列表中返回属性列表

时间:2017-05-17 14:30:06

标签: python sockets

我正在开发一个简单的TCP聊天应用服务器 - 客户端来学习Python,而且我不确定要使用的数据结构。

服务器端我已经定义了client类及其属性:socket,username,room和online_status。每个客户端都添加到clients列表中,同时,其套接字也会添加到connections列表中。服务器在始终为true的循环中运行,使用以下声明

侦听传入消息
(ready_to_read, _, _) = select.select([server_socket] + list(connections), [], [])

是否有任何方法可以列出每个socketclient个对象,并且可以

(ready_to_read, _, _) = select.select( list(client.socket), [], [])

1 个答案:

答案 0 :(得分:1)

不确定我是否真正了解您的需求,但假设您要从客户端实例列表构建套接字列表,您可以使用列表解析:

if((f=fopen(argv[2],"r"))==NULL){
        perror("error opening file\n");
        exit(1);
    }

for(int i=0;i<(int)read;i++){
        printf("record number %d\n %s\n",i,recs[i].rec);
    }

(假设(ready_to_read, _, _) = select.select( [client.socket for client in clients], [], []) 是客户端实例的列表)