UDP的收发是不是一定要这样:
比如:
监听4444端口,
构造一个UDP包,source 端口为4444,
发出包,然后监听部分会收到回复。我是要写个DNS查询的程序,我看WIN2K的DNS查询nslookup并没有监听端口,它是怎么收到服务器的回复的?能不能给我一个最简单的发/收UDP的包的例子吗?VC代码先谢谢了。

解决方案 »

  1.   

    这里有个UDP的例子,同时实现广播
    http://www.yangning.com/cgi-bin/topic.cgi?forum=1&topic=21&show=75
      

  2.   

    谢谢楼上,这个程序仍然要监听8888断口来收信息,我想知道象nslookup这种查询DNS的工具为什么不用监听断口就可以来发一个UDP并收到一个UDP包,是怎么实现的,如果有代码就太好了,我已经找了好几天了,一直没有找到合适的代码。
      

  3.   

    监听端口一般用socket,是面向连接的
    UDP无连接
      

  4.   

    http://www.vckbase.com/code/findcode.asp
    载上面这个地址的搜索里输入UDP会找到好多的
      

  5.   

    所以我不大明白,无连接的话怎么不监听断口就能收到回复包呢?nslookup是怎么做到的?
    VC知识库里也没有我想找的代码
      

  6.   

    闲的无聊又不懂,猜猜看~~~~~
    对于系统的协议实现来讲
    只要是发给他的udp包他都会接收并放入缓冲区中
    只要你调用了接收函数,他就会从缓冲中读去相应地址的包给你
    如果你一直不读,或者缓冲益出,那么就会把部分包丢掉