socket 的地址结构
来源:互联网 发布:php面向对象重定向 编辑:程序博客网 时间:2024/05/18 01:43
导读:
在建立socket通信的过程中地址起着很关键的作用,在设计TCP/IP网络程序时,必须对 socket 的地址结构有清晰的认识。
TCP/IP 的地址数据结构。
struct sockaddr {
u_short safamily;/*地址族,AF_XXX*/
char sa_data[14];/*14字节的特定协议地址*/
}
其中14字节的sa_data随协议而不同。在TCP/IP协议族中,地址数据结构为:
struct in_addr{
u_long s_addr;/*32比特的IP地址,网络字节顺序 */
};
struct sockaddr_in{
short sin_family; /*AF_INET*/
u_short sin_short; /*16比特的端口号,网络字节顺序*/
struct in_addr sin_addr; /*32比特的IP地址,网络字节顺序*/
char sin_zero[8]; /*未用*/
}
网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。由主机字节顺序转换为网络字节顺序的两个函数如下:htons():将16比特的主机字节顺序数据转换为网络字节顺序htonl():将32比特的主机字节顺序数据转换为网络字节顺序与此相对应的将网络字节顺序转换为主机字节顺序的函数为:
ntohs():将16比特的网络字节顺序数据转换为主机字节顺序ntohl():将32比特的网络字节顺序数据转换为主机字节顺序由于各种socket地址结构的长度相差很大,TCP/IP地址族的地址长度为8字节,XNS地址为14字节,UNIX地址不定,最长可达110字节,所以无法以一种统一的格式定义它们,需要在bind()调用中明确指定socket地址的长度。
当bind()参数无效或端口已被其他程序所用时,函数返回-1,表明本次socket命名失败。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3488
[收藏到我的网摘] [发送Trackback] ghj1976发表于 2001年08月19日 15:21:00
本文转自
http://blog.csdn.net/ghj1976/archive/2001/08/19/3488.aspx
在建立socket通信的过程中地址起着很关键的作用,在设计TCP/IP网络程序时,必须对 socket 的地址结构有清晰的认识。
TCP/IP 的地址数据结构。
struct sockaddr {
u_short safamily;/*地址族,AF_XXX*/
char sa_data[14];/*14字节的特定协议地址*/
}
其中14字节的sa_data随协议而不同。在TCP/IP协议族中,地址数据结构为:
struct in_addr{
u_long s_addr;/*32比特的IP地址,网络字节顺序 */
};
struct sockaddr_in{
short sin_family; /*AF_INET*/
u_short sin_short; /*16比特的端口号,网络字节顺序*/
struct in_addr sin_addr; /*32比特的IP地址,网络字节顺序*/
char sin_zero[8]; /*未用*/
}
网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。由主机字节顺序转换为网络字节顺序的两个函数如下:htons():将16比特的主机字节顺序数据转换为网络字节顺序htonl():将32比特的主机字节顺序数据转换为网络字节顺序与此相对应的将网络字节顺序转换为主机字节顺序的函数为:
ntohs():将16比特的网络字节顺序数据转换为主机字节顺序ntohl():将32比特的网络字节顺序数据转换为主机字节顺序由于各种socket地址结构的长度相差很大,TCP/IP地址族的地址长度为8字节,XNS地址为14字节,UNIX地址不定,最长可达110字节,所以无法以一种统一的格式定义它们,需要在bind()调用中明确指定socket地址的长度。
当bind()参数无效或端口已被其他程序所用时,函数返回-1,表明本次socket命名失败。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3488
[收藏到我的网摘] [发送Trackback] ghj1976发表于 2001年08月19日 15:21:00
本文转自
http://blog.csdn.net/ghj1976/archive/2001/08/19/3488.aspx
- socket 的地址结构
- socket 的地址结构
- socket 的地址结构
- socket 的地址结构
- socket 的地址结构
- socket 的地址结构
- socket 的地址结构
- socket 的地址结构
- socket地址结构描述
- socket地址结构体
- Socket地址结构
- SOCKET地址结构
- Socket地址结构解析
- socket 地址结构体定义
- socket结构和IP地址形式间转换的总结
- linux下socket编程之地址结构
- Netlink系列2Netlink socket地址结构
- Socket的地址查询
- 用Perl语言进行Socket编程
- 用Socket和MSHTML对象模型创建自己的浏览器
- 腾讯面试--指针
- 一个假程序员的心里话
- XML学习笔记-第二章 XML文档
- socket 的地址结构
- 给创业者的二十二个经典提示
- MACD系列1
- 60分钟MACD之短线实战
- 今天收获不错
- 顺序表的操作_求补、交、并集
- 百度二级域名大全
- Linux下以太网卡的安装及配置
- 找工作小记