debian怎么配置静态ip地址
319
2022-09-19
linux c tcp server代码 需要 注意的问题
1 端口号 ip地址转换 server_sockaddr.sin_port = htons(5001); server_sockaddr.sin_addr.s_addr = inet_addr(“192.168.1.120”);
2 accept 注意 struct sockaddr_in client_addr; //创建一个变量,清零,不用赋值 socklen_t length = sizeof(client_addr);// 再得到它的长度 然后 int newsocket = accept(server_sockfd, (struct sockaddr*)&client_addr, &length); 就好。 3 accept是阻塞函数 listen 单纯的创建一个监听的“器件”,进行监听。
4 server socket 绑定ip尽量用 server_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY); 自动获取地址 注意:为什么一般情况下都用serv.sin_addr.s_addr=htonl(INADDR_ANY)
比如你的机器有三个ip 192.168.1.1 202.202.202.202 61.1.2.3
如果你serv.sin_addr.s_addr=inet_addr(“192.168.1.1”);
然后监听100端口
这时其他机器只有connect 192.168.1.1:100端口才能成功。 connect 202.202.202.202:100和connect 61.1.2.3:100都会失败。
如果serv.sin_addr.s_addr=htonl(INADDR_ANY); 的话,无论连接哪个ip都可以连上的,这就是为什么这样选择的理由
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~