网络编程服务器端绑定ip设置
来源:互联网 发布:js if null undefined 编辑:程序博客网 时间:2024/06/07 06:03
在使用socket编写服务器程序时,设置服务器绑定的sockaddr_in结构往往会困扰很多同学,sockaddr_in结构中sin_famliy和sin_port(注意要使用htons转换为网络序)就不说了,相信大家已知道。sin_addr是要设置的监听地址。sin_addr类型为:
struct in_addr {
in_addr_t s_addr;};
这里有几个常用的值:
(1)sin_addr.s_addr = INADDR_ANY;(0x00000000)
(2)sin_addr.s_addr = INADDR_NONE;( 0xffffffff)inet_addr("255.255.255.255")
(3)sin_addr.s_addr = INADDR_LOOPBACK;(0x7f000001)inet_addr("127.0.0.1")
(4)sin_addr.s_addr = inet_addr("192.168.1.211");(192.168.1.211是本地eth0的ip地址)
(5)sin_addr.s_addr = inet_addr("192.168.1.210");(192.168.1.211是本地eth1的ip地址)
第一个值将监听IP设置为0,表示客户端发往本地任意ip上该端口的数据包都可以被服务器接收到。
第二个值将监听IP设置为广播地址,实验发现可以设置成功,但不知道有啥用?请各位大神指教。
第三个值将监听IP设置为本地环回地址,表明该服务仅用于本地socket通信,并且通信数据包不经过网卡,即使不连接网线也可以向127.0.0.1的监听端口发送数据包。
第四、五个值表示将监听IP设置为本地网卡上的IP。
ps:localhost、127.0.0.1和192.168.1.211的区别:localhost是本地主机名,/etc/hosts文件可以设置IP和localhost的对应关系;127.0.0.1是本地环回地址,和本地环回地址通信不经过物理网卡,因次即使不连接网络,127.0.0.1的数据包也可以发送和接收;192.168.1.211是本地网卡IP地址,网卡需上电才可以进行通信。
- 网络编程服务器端绑定ip设置
- TCP/IP网络编程 学习笔记_11 --多进程服务器端
- TCP IP网络编程1 简单的回声服务器端、客户端
- TCP/IP网络编程_hello world服务器端与客户端
- TCP/IP网络编程_echo回声服务器端与/客户端
- TCP/IP网络编程_计算器服务器端客户端
- Winock2网络编程服务器端
- tcp/ip 多线程服务器端的实现(参考tcp/ip网络编程)
- TCP/IP网络编程 基于Linux编程_4 --多线程服务器端的实现
- UNIX网络编程学习(8)--服务器端显示客户端的IP地址和端口号
- c#网络编程之TCP/IP(二)Thread方式服务器端编写
- C++网络编程--TCP服务器端
- go网络编程示例,服务器端
- java网络编程客户端,服务器端
- 网络编程入门服务器端程序
- 网络编程中如何设置服务器监听IP
- 在windows xp下,一块网卡绑定多个ip,设置多个网络连接
- 在windows xp下,一块网卡绑定多个ip,设置多个网络连接
- 使用PHP QR Code生成二维码
- 微信分享JS-SDK总结
- 零基础Github Page免费无限流量个人博客搭建教程
- Centos 6.5 Install VirtualBox 5.1.4
- CCF 201503-3 我30分
- 网络编程服务器端绑定ip设置
- Android Studio自动生成带系统签名的apk
- CSS-secrets 读书笔记(1)
- 基本运算符的重载(复数类)
- Filter(过滤器)常见应用(三)——权限管理系统(一)
- uicc详解-1(常识介绍)
- 使用bootstrap.css框架无法显示图标问题
- HDU1506-Largest Rectangle in a Histogram(dp)
- unity3d摄像机参数