博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
套接口编程
阅读量:5344 次
发布时间:2019-06-15

本文共 1524 字,大约阅读时间需要 5 分钟。

1 struct in_addr{ 2     in_addr_t s_addr; 3 }; 4 struct sockaddr_in{ 5     uint8_t sin_len; 6     sa_family_t sin_family; 7     in_port_t sin_port; 8   9     struct in_addr sin_addr;10     char sin_zero[8];11 };
 
通用套接口地址结构:
struct sockaddr{    uint8_t sa_len;    sa_family_t sa_family;    char sa_data[14];}; int bind(int ,struct sockaddr *,socklen_t); strcut sockaddr_in serv;bind(sockfd,(struct sockaddr *)&serv,sizeof(serv));

 

1 进程到内核的传递:bind,connect,sendto
struct sockaddr_in serv;connect(sockfd,(SA *)&serv,sizeof(serv));
2 内核到进程的传递:accept,recvfrom,getsockname,getpeername
struct sockaddr_un cli;socklen_t len;len = sizeof(cil);getpeername(unixfd,(SA *)&cli,&len);

 

 
值-结果参数:
当函数被调用时,结构大小是一个值。当函数返回时,结构大小是一个结果(我靠!这是跟我玩哲学么?)
 
常用的值-结果参数:
1 select 3个变量
2 getsockopt 长度变量
3 recvmsg msghdr中的两个成员:msg_namelen \ msg_controllen 
4 ifconfig ifc_len
5 sysctl 前两个长度参数
 
小端字节序:低序字节存储在起始地址
大端字节序
 
验证大小端字节序:
1 int main(int argc,char ** argv){ 2 union{ shot s; 3             char c[sizeof(short)]; 4 }un; 5 un.s = 0x0102; 6 printf("%s:",CPU_VENDOR_OS); 7 if(sizeof(short) ==2){ 8     if(un.c[0]==1 && un.c[1]==2) 9         printf("big-endian\n");10     else if(un.c[0]==2 && un.c[1]==1)11         printf("little-endian\n");12     else13         printf("unknown\n");14 }else{15     printf("sizeof(short) = %d\n",sizeof(short));16 }17 exit(0);18 }

 

inet_aton 将字符串转换成32位的网络字节序的二进制值
inet_addr 全为1时,返回INADDR_NONE错误
inet_ntoa 将二进制转换成对应的点分十进制
 
inet_pton 从表达格式转换到数值格式
inet_ntop 从数值格式转换到表达格式
 
sock_ntop 
 

转载于:https://www.cnblogs.com/xing901022/p/3522890.html

你可能感兴趣的文章
【流媒體】live555—VS2008 下live555编译、使用及测试
查看>>
mysql 之SQL语句--NSERT SELECT ON DUPLICATE KEY UPDATE的写法
查看>>
js的学习 (数组)
查看>>
内排序之快速排序
查看>>
Django 认证系统
查看>>
温故而知新 小测试
查看>>
windows和linux下安装 redis
查看>>
互联网趋势分析工具
查看>>
调用bash的时候出现curl command not found
查看>>
Android学习之旅(一)
查看>>
I2C软件调试思路并知识总结
查看>>
一个完整的Makefile文件举例
查看>>
怎样防止重复发送 Ajax 请求?
查看>>
UISearchController的使用。(iOS8+)
查看>>
elasticSearch基本使用
查看>>
1038 recover the smallest number
查看>>
JavaScript汇总
查看>>
支付宝app支付 验签突然不过
查看>>
网站及搜索优化框架梳理
查看>>
js中location 相关属性总结
查看>>