socket结构和几个IP地址转换函数
来源:互联网 发布:java 静态构造函数 编辑:程序博客网 时间:2024/05/05 12:45
通用的结构体:
struct sockaddr {
unsigned short sa_family; /* address family, AF_xxx */
char sa_data[14]; /* 14 bytes of protocol address */
};
编程时常用的
struct sockaddr_in {
short int sin_family; /* Address family */
unsigned short int sin_port; /* Port number */
struct in_addr sin_addr; /* Internet address */
unsigned char sin_zero[8]; /* Same size as struct sockaddr */
};
其中
struct in_addr {
unsigned long s_addr;
};
typedef struct in_addr {
union {
struct{
unsigned char s_b1,
s_b2,
s_b3,
s_b4;
} S_un_b;
struct {
unsigned short s_w1,
s_w2;
} S_un_w;
unsigned long S_addr;
}S_un;
}IN_ADDR;
某些函数调用时的参数必须是指向通用结构体的指针,到时一个强制转换即可
in_addr_t inet_addr(const char *cp);
in_addr_t inet_network(const char *cp);
int inet_aton(const char *cp, struct in_addr *inp);
char *inet_ntoa(struct in_addr in);
前两个函数分别将字符串形式的IP转换为网络字节序和主机字节序的IP,返回IP结构。
inet_aton将第一个参数字符串形式IP转换成网络字节序IP存入第二个参数 指向IP结构体的指针
inet_ntoa将IP结构体中IP转换成点分式IP字符串并返回。
struct sockaddr_in address;
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("127.0.0.1");
inet_aton("127.0.0.1",&address.sin_addr);
printf("IP is ntoa: %s/n",inet_ntoa(address.sin_addr));
两个通过套接字描述符获取套接字结构的函数
int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
把第一个参数文件描述服对应的套接字结构存入第二个参数套接字结构指针所指向的套接字结构体中,第三个参数为指向所获取的套接字结构大小整数的指针,该整数一般为16。
区别在于前者用于获取本地套接字,后者用于远程在客户端调用前者,得到自己的,调用后者得服务器的,在服务器端情况正好相反
- socket结构和几个IP地址转换函数
- socket结构和几个IP地址转换函数
- socket结构和几个IP地址转换函数
- socket结构和几个IP地址转换函数
- socket结构和几个IP地址转换函数
- socket IP地址转换函数
- socket结构和IP地址形式间转换的总结
- socket编程相关的结构体和字节序转换、IP、PORT转换函数
- 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client
- 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client
- socket IP地址转换接口
- ip地址转换函数
- IP地址转换函数:
- IP地址转换函数
- IP地址转换函数
- IP地址转换函数
- IP地址转换函数
- IP地址转换函数
- 图片搜索之感知哈希算法
- Boost解析JSON格式
- ABBi-busEIB/KNX智能系统打造舒适现代建筑
- jsp上传头像以及生成缩略图(已修改,已加效果图)
- ASP.NET MVC3 实例(三) 使用 Controller 进行数据的的查询
- socket结构和几个IP地址转换函数
- 屏幕弹出层,淡入淡出
- Eclipse 项目有红感叹号、小红叉
- inux系统中的uptime命令使用解释
- 对乔布斯影响最大的13个人
- 产品开发专用的GPS超小型模块
- java_ant详解
- bw_mod 与 mod_bw 不仅仅是版本的更新
- C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?