我创建一个UDP的 SOCKET
s = socket( AF_INET , SOCK_DGRAM, 0);但是 当我listen( s, nSock ) 的时候就会失败。为什么?然后就不能ACCEPT了急

解决方案 »

  1.   

    UDP的套接子不能listen的,只有TCP的套接子监听才要listen.
    UDP的套接子bind需要监听的端口就可以接收数据了.
      

  2.   

    另外UDP的套接字创建时最好指定协议IPPROTO_UDP=17;
      

  3.   

    UDP协议不需要侦听,只有tcp协议的server一方才需要侦听
      

  4.   

    TCP才需要listen
    UDP不需要bind就可以发数据了,bind后就可以接收数据了.
    接分........
      

  5.   

    UDP是无连接的,不用绑定端口,也不需要侦听, 只要recvfrom就可以接收数据包了
      

  6.   

    谢谢大家我也知道是这样的答案。但是我需要一个线程用来监听端口信息。一个线程用来发送数据。还要用同一个端口。能不能实现一个用udp协议但是实现 类似listen/accept功能的方法呢?回了马上给分
      

  7.   

    就是一个接口数据,一个发送数据,又不会连接  listen,/accept,有什么用,
    同一个端口,用端口复用就行了,setoptsock
      

  8.   

    同一个端口,用端口复用就行了,setoptsock给段代码
      

  9.   

    中国竟出这种人,UDP还监听? 是不是要让别人笑死呀,中国13亿人,真是什么鸟都有呀?
      

  10.   

    我想实现类试的功能如果一直用recvfrom会战用该端口而不能被其他功能使用但是端口复用我自己通过网络查找的资料自己写了一个但是没有实现。所以请大家能给我一个端口复用的例子(最好)
      

  11.   

    ShanChunZhenZi(山村贞子) ( ) 信誉:100    Blog  2006-8-24 21:27:56  得分: 0  
    中国竟出这种人,UDP还监听? 是不是要让别人笑死呀,中国13亿人,真是什么鸟都有呀?
    ============================
      

  12.   

    学习态度是非常好的,每个人都会从无知到有知,因此要鼓历我想 大家都知道udp通信在等待接受数据时的痛苦。都是说是用端口复用。我在网络上找了好多资料,但是实际上运行效果和我的需要相差很多
      

  13.   

    UDP是无连接的,不用绑定端口,也不需要侦听, 只要recvfrom就可以接收数据包了======================需要绑定端口,要不别人怎么给你发包。
      

  14.   

    TO:sunj_study()现在的问题是。如果我recvfrom()的时候想向 其他pc发送数据,但是此端口还在被使用所以两个过程不能同时进行怎么办呢??如果我关闭recvfrom()线程,关闭SOCKET再重新BIND端口??这样如果从其他PC发送数据过来的话,我就获得不了这个包了
      

  15.   

    程序流程:
    ■服务器程序流程(单进程):
    程序初始化 
    填写本机地址信息 
    绑定一个固定的端口 
    收到Client的数据报后进行处理与通信 
    通信结束后断开连接  
    ■客户端程序流程:
    程序初始化 
    填写服务器地址信息 
    连接服务器 
    与服务器通信和信息处理 
    通信结束后断开连接  
    UDP方式下服务器与客户端程序差别不大,仅第三步不同
      

  16.   

    TO: longbeibei() 如果服務器程序斷開連接后其他的客戶機怎麽辦?我的是C/S模式 程序。多客戶機,單服務器
      

  17.   

    TCP用于可靠连接,(用来传数据)传输控制协议 
    UDP用于不可靠连接,(用来传报文)用户数据报协议.c/s模式最好采用tcp通信比较安全
    当然客户端可以采取udp即使丢包也影响不大