zoukankan      html  css  js  c++  java
  • 套接口编程

     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
    ");
    10     else if(un.c[0]==2 && un.c[1]==1)
    11         printf("little-endian
    ");
    12     else
    13         printf("unknown
    ");
    14 }else{
    15     printf("sizeof(short) = %d
    ",sizeof(short));
    16 }
    17 exit(0);
    18 }
    inet_aton 将字符串转换成32位的网络字节序的二进制值
    inet_addr 全为1时,返回INADDR_NONE错误
    inet_ntoa 将二进制转换成对应的点分十进制
     
    inet_pton 从表达格式转换到数值格式
    inet_ntop 从数值格式转换到表达格式
     
    sock_ntop 
     
  • 相关阅读:
    ASP.NET中常用的附件上传下载
    C#中导出Excel的常用方式
    ASP.NET中AjaxPro.dll的简单应用
    在ASP.NET中使用FusionCharts图表
    ASP.NET中使用MagicAjax.dll
    FusionCharts图表导出
    C#中经常注入的一些Javascript代码
    CodeSmith3.2(.net2.0)教程
    您未必知道的Css技巧
    Web Service简介
  • 原文地址:https://www.cnblogs.com/xing901022/p/3522890.html
Copyright © 2011-2022 走看看