为什么 UDP 不需要 listen?

walfud 2011-09-21 09:53:09
listen 函数主要目的使为了使套接字变为监听状态, 那么 UDP 为什么不需要这样做呢?
...全文
1436 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghehong 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 walfud 的回复:]

@ 千里孤行
那么 TCP 不断调用 accept 不就是在 ‘监听’ 么? 何必要用 listen? listen 的作用有什么。
[/Quote]
accept()不是监听,accept()是接受新连接。
listen()是进入监听状态,表示愿意接收连接请求。
listen之后有连接请求就将其放到队列中,accept()时把新连接请求从队列中取出,建立新的socket。


- 千里孤行
renxu350 2011-09-26
  • 打赏
  • 举报
回复
不先调用listen能调用accept成功吗,,,
建议lz看看tcp通信流程图
walfud 2011-09-26
  • 打赏
  • 举报
回复
@ 千里孤行
那么 TCP 不断调用 accept 不就是在 ‘监听’ 么? 何必要用 listen? listen 的作用有什么。
yanghehong 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 walfud 的回复:]
listen 函数主要目的使为了使套接字变为监听状态, 那么 UDP 为什么不需要这样做呢?
[/Quote]

listen 函数主要目的使为了使套接字变为监听状态,是说监听新的连接。。。而TCP才有连接建立过程,UDP是面向无连接的。。


- 千里孤行

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧