本帖最后由 aslprince 于 2010-06-04 14:37:19 编辑

解决方案 »

  1.   

    一个客户端一个socket  服务端收到消息遍历发送 就可以了
      

  2.   

    应该需要一个作为服务器端吧,可以放在ABCD任意一台机器上,也可以独立出来
    ABCD都需要一个客户端,所有的数据都从服务器端来转发
      

  3.   


    那SOCKET多了,很容易乱啊??
      

  4.   

    如果你只要一个接收端的话,用MFC的CSocket很容易的,一个listen()将每个连接请求Accept()到一个新的CSocket派生类对象,每个窗口一个连接,有消息自动触发OnReceive()。
      

  5.   

    服务端只需要1个SOCKET,用于接收(自然如果用户多了我们得考虑其他问题)
    让用户做一个登陆的操作,服务器接收客户端IP并保存列表。
    服务器端接收到了客户端请求后根据列表发送即可。
      

  6.   

    点对点也只需1个SOCKET,会话列表保存到本地即可。
      

  7.   

    数据小,最好一个socket,
    然后将每个窗口 待 发送的数据放在队列中吧
    接收,发送都用一个socket,逻辑处理好,5个应该不会阻塞
    但每次数据得加一个 标志位,表明是哪一个窗口如果数据较大,追求响应速度,那就5个socket,通讯也多线程
    资源占用也不算大
      

  8.   

    1个socket,定义自己的聊天结构,好比定义一个ip字段,不同的字段显示在不同窗口~
      

  9.   

    如果是UDP就一个socket,如果是TCP就每个窗口一个socket
      

  10.   

    每个用户一个socket。你找别人聊天,如果你们之间没有连接,那么你连他。反之他连你。
      

  11.   

    每个用户一个socket。你找别人聊天,如果你们之间没有连接,那么你连他。反之他连你。
      

  12.   


    对称结构 P2P
    使用UDP方式,一个socket
    TCP方式,N个用户N-1个SOCKET非对称结构C/S
    TCP S N个用户 一个绑定端口,连接后有N个SOCKET
        S 一个connect的socket
    UDP 一样
      

  13.   

    额   做一个服务器专门用作信息的转发。。
    其他登陆人员就是客户端。。
    在服务器端定义一个list来记录登陆的socket以及用户名,比如这时候登陆了A和B两人,A想给B发消息,此时A先把消息发给服务器,服务器再在list中找到B,再将消息发给B 。 OK。 这时候你得自己定义协议,即login登入、、、logout登出之类的东东。。
      

  14.   

    应该每个窗口一个socket,因为每个和你聊天的都是不同的IP