好吧,我的问题可能看起来像一个基本的东西,但我是网络编程方面的新手.我想知道:
1)是否始终需要绑定套接字以便从中接收消息?我看到了一个嗅探器代码(原始套接字),其中一个直接调用它recvfrom
,另一个代码在其中调用bind
,然后是一个接收.
2)AF_*和PF_*系列有什么区别?后者与POSIX有关吗?推荐哪一款?
不,你不需要bind().
如果您正在使用TCP或UDP套接字计划连接()或使用sendto()将数据包发送到目标,则当您尝试连接或发送时,内核将自动将套接字绑定到合适的端口号.这通常是首选方式.bind()客户端套接字被认为是有害的.
AF_UNIX套接字也是如此 - 客户端不需要绑定,也不应该正常.
归档时间: |
|
查看次数: |
8340 次 |
最近记录: |