linuxbind bind9

所谓绑定,就是别人只能通过我绑定的端口连接我,相当于买手机。别人要联系我,肯定知道我的手机号。这个时候,我该怎么办?我需要将电话卡插入我的手机,并固定一个电话号码,以便其他人可以通过这个电话号码联系我。手机卡插在手机上固定一个电话号码,类似于绑定的过程。为了固定一个端口号,其他网络程序可以找到这个端口号,找到这个端口号就可以找到这个端口号对应的网络应用。

在网络编程中,端口通常绑定在服务器端,并不是说端口不能绑定在客户端,而是要注意一个网络应用只能绑定一个端口(一个socket只能绑定一个端口)。

套接字不能同时绑定多个端口,如下所示:

# include & ltstdio.h & gt# include & ltstdlib.h & gt# include & ltstring.h & gt# include & ltunistd.h & gt# include & ltsys/socket . h & gt;# include & ltnetinet/in . h & gt;# include & ltarpa/inet . h & gt;int main(int argc,char * argv[]){ char server _ IP[30]= & # 34;10.221.20.12";int sockfdsockfd = socket(AF_INET,SOCK_DGRAM,0);//创建UDP套接字if (sockfd

linuxbind bind9

如果客户端要绑定端口号,必须在调用发送信息函数之前绑定端口,因为在发送信息函数(sendto,或者write)中,系统会自动给当前网络程序分配一个随机端口号,相当于随机绑定一个端口号,这里只分配一次,以后的通信都是基于这个随机端口。如果我们再次绑定端口号,绑定将会失败。如果我们在发送信息函数(sendto,或者write)之前绑定,那么程序会用我们绑定的端口号发送信息,而不会随机分配一个端口号。

C/C++ Linux服务器架构师有必要学习私有信息“资料”(资料包括C/C++、Linux、golang技术、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、流媒体、CDN、P2P、K8S、Docker、TCP/IP、协诚、DPDK、ffmpeg等

绑定失败(UDP)的一个示例如下:

# include & ltstdio.h & gt# include & ltstdlib.h & gt# include & ltstring.h & gt# include & ltunistd.h & gt# include & ltsys/socket . h & gt;# include & ltnetinet/in . h & gt;# include & ltarpa/inet . h & gt;int main(int argc,char * argv[]){ char server _ IP[30]= & # 34;10.221.20.12";int sockfdsockfd = socket(AF_INET,SOCK_DGRAM,0);//创建UDP套接字if (sockfd

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论