服务端如何保存多个客户端连接socket信息

服务端怎么保存多个客户端连接socket信息
就是服务端要管理客户端的socket

保存socket的ip和端口等

然后服务端根据不同socket给不同 客户端的发送不同的信息


怎么保存呀?链表? 如果有例子,最好给出例出说明!谢谢了

------解决方案--------------------
struct peerinfo
{
SOCKET sock,
std::string ip,
unsigned int port,
}PEERINFO;

std::list<PEERINFO&> m_peerlist;

------解决方案--------------------
投链表一票,mfc就用coblist。windows编程就#include <list>.然后就list<socket>。
用链表主要是连接用户的断开时间和顺序是不一定的。

------解决方案--------------------
对啊,好象听说qq里都是这样做的啊,腾讯的兄弟出来讲讲技术吧
------解决方案--------------------
探讨
引用:
struct peerinfo
{
    SOCKET sock,
    std::string ip,
    unsigned int port,
}PEERINFO;

std::list <PEERINFO&> m_peerlist;



我已用这个方法了   

现在能保存socket了,可问题又来了

比如三个客户端 A B C发送数据分别为DataA ,DataB ,DataC到服务端

现在服务端要把三个数据发到三个客户端上个机器上,也说是每个客户端要知道其它两个客户端的数据


这个是不是要,在客户端发过来的数据包头要加以区分呀?

这个具体怎么做呀?


------解决方案--------------------
map 也可以!
------解决方案--------------------
弄个数组啊 用来保存socket的
------解决方案--------------------
数组就可以吧, 不至于会太多吧?