网络编程基础api

目录

主机字节序与网络字节序

专用socket地址

ip地址转换函数

创建连接

数据读写


主机字节序与网络字节序

        网络字节序:大端序: 低地址储存高位字节

        主机字节序:小端序:低地址储存低位字节

linux  字节序转换

#include <arpa/inet.h>

       uint32_t htonl(uint32_t hostlong);

       uint16_t htons(uint16_t hostshort);

       uint32_t ntohl(uint32_t netlong);

       uint16_t ntohs(uint16_t netshort);

专用socket地址

sockaddr_in   //ipv4

sockaddr_in6   //ipv6

ip地址转换函数

#include <netinet/in.h>

int inet_aton(const char *cp, struct in_addr *inp);

in_addr_t inet_addr(const char *cp);

char *inet_ntoa(struct in_addr in);


//inet_addr 将点分十进制字符串表示的ip地址转化为网络字节序整数表示的ipv4地址
// inet_aton  将转换的地址填入inp所指向的地址中
// inet_ntoa   转化为点分十进制字符串 内部使用静态变量 不可重入

创建连接

#include<sys/socket.h>
#include<sys/types.h>


int socket(int domain, int type, int protocol);


int bind(int fd, const struct sockaddr* my_addr, socklen_t addrlen);


int listen(int fd, int backlog);


int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);


int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);

数据读写

ssize_t recv(int sockfd, void *buf, size_t len, int flags);

ssize_t send(int sockfd, const void *buf, size_t len, int flags);

Guess you like

Origin blog.csdn.net/weixin_53022668/article/details/120747396