TCP服务器我知道怎么弄,总之就是连接上以后通信,但是UDP不需要连接,那怎么UDP处理成百上前的服务啊?

解决方案 »

  1.   

    你的UDP服务器要实现什么功能?
      

  2.   

    就是UDP并发服务器的设计,同问
      

  3.   

    是不是这个:
    UDP服务器端:
    1.创建套接字
    2.将套接字邦定到一个IP地址和端口
    3.等待接收数据
    4.关闭套接字
    UDP客户端:
    1.创建套接字
    2.向服务器发送数据
    3.关闭套接字
      

  4.   

    对啊,但是有很多UDP向我发送数据啊,我要建立几个SOCKET啊,不然一个怎么接收得过来啊?
      

  5.   

    但是如果我用多个SOCKET是不是就要绑定多个端口啊,那么这样的话我设计的发送端又要怎么发送数据啊?
      

  6.   

    顺便想问问QQ的服务器是TCP还是 UDP
      

  7.   

    没有连接那就收到谁的数据就回复谁的咯,服务端bind()之后不停去recvFrom(),收到不同客户端的sendTo(),根据发送者的地址去回复
      

  8.   

    就一个SOCKET吗?
    那这样的话是不是忙得过来啊?
    再说如果一台机器上多个SOCKET怎么bind啊?
      

  9.   

    还有就是我用recvfrom()得到的地址是不是就是客户的准确的地址啊?
      

  10.   

    udp srv:
        socket();
        bind(port);
        while(1)
        {
          if(recvConnectReQ)
          {
             AfxBeginThread(taskThd);
          }
          if(StopEvent) 
            break;
        }
    --------------
    taskThd:
       socket();
       bind(a unused port);
       send msg to the client socket: I am Here, u can cantact with me
       begin the task;
       closesocket();
    --------------
    udp client:
       socket();
       bind();
       sendConnectReq;
       if recved the I am Here msg, transmit data to that socket!
       task over;