我用SOCKET写了个多连接的聊天室,但为什么服务器只收到最后连接那个客户的消息呢,但也确实是有几个连接上服务器啊,请问通常是什么问题呢?

解决方案 »

  1.   

    服务器端的监听SOCKET接收到连接后,要再定义一个SOCKET与客户端连接。估计你是一直用这个socket连监听带通信了。
      

  2.   

    楼上讲的对,创建一个SOCKET数组,每监听到一个连接就分配一个。
      

  3.   

    http://www.csdn.com.cn/program/program.htm
      

  4.   

    上面的网页打不开,而我对VC不是很熟,那请问怎样建造一个为SOCKET类型的数组变量呢,谢谢
      

  5.   

    多看一下windows网络编程第八章
      

  6.   

    本来就一个SOCKET,一般只用它来接受连接,并不用他来通讯。
    方法:
    1。那个SOCKET接收到请求R1后在建立一个连接S1用来同R1通讯,而原来的SOCKET还用来接受新的连接;
    2。如果这时又有一个请求R2,则再建一个连接S2用来同R2通讯,而原来的SOCKET还用来接受新的连接;
    3。
    类推如此
      

  7.   

    一定要用数组将各个连接上的socket存入
    否则
    如:
    while(true)
    {
    sock=accpet(...)
    }
    一旦连接,sock就是一个新值!