gpt4 book ai didi

c - 是否总是需要绑定(bind)套接字?

转载 作者:IT王子 更新时间:2023-10-29 00:13:20 24 4
gpt4 key购买 nike

好吧,我的问题可能看起来像一个基本问题,但我是网络编程方面的新手。我想知道:

1) 是否总是需要绑定(bind)套接字才能从中接收消息?我看到了一个嗅探器代码(原始套接字),其中一个直接调用 recvfrom 和另一个代码,其中调用 bind 然后接收。

2) AF_* 和 PF_* 系列有什么区别?后者与POSIX有关吗?推荐哪个?

最佳答案

不,你不需要 bind()。

如果您正在使用 TCP 或 UDP 套接字,您计划使用 connect() 或使用 sendto() 将数据包发送到目的地,当您尝试连接时,内核会自动将套接字绑定(bind)到合适的端口号连接或发送。这通常是首选方式。 bind()ing 客户端套接字被认为是有害的。

AF_UNIX 套接字也是如此 - 客户端不需要绑定(bind),通常不应该这样做。

关于c - 是否总是需要绑定(bind)套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com