zoukankan      html  css  js  c++  java
  • linux网络编程基础API(一)

    1、套接字地址结构:

    ipv4套接字地址结构:struct sockaddr_in ,定义在<netinet/in.h>

    ipv6套接字地址结构:struct sockaddr_in6,同样定义在<netinet/in.h>

    通用套接字地址1结构:struct sockaddr,定义在<sys/socket.h>

    ipv4和ipv6套接字地址分别用在定义他们时,而通用套接字用于套接字函数,需要强制类型转化。

    2、字节操纵函数

    <string.h>void bzero(void * dest,size_t nbytes),bzero把目标字符串中指定目的字节指为0.

    <string.h>void void * memset(void * dest,int c,size_t len),memset把目标字符串中指定数目的字节指为C。

    3、转换函数:

    <apra、inet.h>,以下均使用ipv4。

    1
    int inet_aton(const char * strptr,struct in_addr * addrptr);

    将strptr所指的C字符传转换成一个32位的网络字节需二进制值,存放在addrptr。

    char * inet_ntoa(struct in_addr inaddr);

    将一个32位的网络字节需二进制ipv4地址转换成相应的点分十进制字符串

    4、基本TCP套接字1函数。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <sys/socket.h>
    int socket(int family,int type,int protocal);
    int connect(int sockfd,const struct sockaddr* servaddr,socklen_t addrlen);
    int bind(int sockfd,int backlog);
    int accept(int sockfd,struct sockaddr* localaddr,socklen_t* addrlen);
    int getsockname(int sockfd,struct sockaddr * localaddr,socklen_t* addrlen);
    返回socket关联的本地协议地址。
    int getpeername(int sockfd,struct sockaddr* localaddr,socklen_t addrlen);
    返回socket关联的外地协议地址。
    1
    2
    3
    4
    <unistd.h>
    int read(int handle,void * buf,int nbyte);
    int write(int handle,void *buf,int bbyte);
    int close(int  sockfd);
  • 相关阅读:
    我的PC必装软件
    NumPy数值计算(1)
    英文标题首字母大写规则
    学渣笔记之矩阵的导数与迹
    测试
    (英文排版测试)Lorem Ipsum
    XeLaTeX插入GB/T 7714-2005规范的参考文献方法
    linux-centos7 下 php 扩展的 编译与安装,以 mysqli 为例
    linux-centos7-vmware 实现与虚拟机共享文件夹宿主机磁盘文件
    linux-centos7 下安装 php-nginx 服务器
  • 原文地址:https://www.cnblogs.com/yjds/p/8597320.html
Copyright © 2011-2022 走看看