据说用winsock的UDP协议可以轻松的写无连接的多个客户端的服务器程序。
但是用TCP协议如何实现。
我最不明白的:
1.难道要为每一个客户端都建一个socket??
2.用send()可以一下子把数据发到好几个客户端么?

解决方案 »

  1.   

    TCP本来就是点对点的吧。没设计成群发的。
      

  2.   

    那服务器代码怎么写?
    一万个用户连进来,我难道要建立一万个socket?
      

  3.   

    socklist = socket()bind ( socklist ,ip,port); //server bind the address and the portlisten ( sokclist,100); //100只是一个例子,server may listen the incoming clientwhile (true)
    {
      newsock =    accept( socklist,clientaddress,len) ;//new sock is a sock to communicate to the client
    newsock就是与该客户通信的接口,至于如何采取多任务方式,那就八仙过海了.
    }
    }
      

  4.   

    首先建一个监听Socketaccept()到一个连接后,就自动创建一个新的连接,来接受这个连接,这样就实现一对一了参考一下这个代码:http://www.codeproject.com/internet/ndk.asp很经典
      

  5.   

    1、问题是肯定的, 一万个客户进来就得要有一万个连接相应,用CPtrList来管理这些连接吧
    2、可以, 用组播或广播, 广播的话数据通讯量大小心网络瘫痪,嘿嘿
    如果你的意思是指发同时发住几个指定的客户是不可以的, 只能从CPtrList中取出相应的客户套接字, 然后分别send