用于管理聊天服务器中的组的数据结构

时间:2012-02-21 05:32:50

标签: c linux data-structures

我在Flash中使用二进制套接字和使用套接字和libev的C / linux服务器的聊天客户端。我有一切正常工作来发送和接收消息,但现在我正在进行更复杂的步骤。

对于我的聊天服务器,我将用户分组为15个。服务器需要为每个用户提供唯一的ID,并能够快速确定用户所在的组以向其他14个用户广播该消息。我认为服务器可以为每个套接字连接使用文件描述符,因为它们都应该是唯一的。

问题是这样的:你从libev中获取了一个针对某个文件描述符的读取事件。您现在需要快速确定此FD所属的组,然后将消息广播给组中的每个人。 此问题的最佳数据结构是什么?

1 个答案:

答案 0 :(得分:1)

哈希表。 让每个用户都有一个与之关联的groupID,hashTable将使用groupID作为键和UserID数组作为值。