基本套接口编程中的函数(自用)

uint16_t htons(uint16_t host16bitvalue);
uint32_t htonl(uint32_t host32bitvalue);
//均返回;网络字节序值

uint16_t ntohs(uint16_t host16bitvalue);
uint32_t ntohl(uint32_t host32bitvalue);
//均返回;主机字节序值

int inet_aton(const char *string, struct in_addr*addr);
//将一个字符串IP地址转换为一个32位的网络序列IP地址,更新到addr里

in_addr_t inet_addr(const cahr* strptr);
//若成功则返回32位二进制的网络字节序地址, 否则返回INADDR_NONE

char* inet_ntoa(struct in_addr inaddr);
//返回点分十进制数串的指针

int inet_pton(int af, const char *src, void *dst);
//将“点分十进制” -> “二进制整数”,成功返回1

const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);
//这个函数转换网络二进制结构到ASCII类型的地址,参数的作用和上面相同,只是多了一个参数socklen_t cnt,
//他是所指向缓存区dst的大小,避免溢出,如果缓存区太小无法存储地址的值,则返回一个空指针,并将errno置为ENOSPC

原文地址:https://www.cnblogs.com/light65353/p/10663095.html

时间: 2025-01-12 10:07:07

基本套接口编程中的函数(自用)的相关文章

值得收藏的TCP套接口编程文章

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由jackieluo发表于云+社区专栏 TCP客户端-服务器典型事件 下图是TCP客户端与服务器之间交互的一系列典型事件时间表: 首先启动服务器,等待客户端连接 启动客户端,连接到服务器 客户端发送一个请求给服务器,服务器处理请求,响应客户端 循环步骤3 客户端给服务器发一个文件结束符,关闭客户端连接 服务器也关闭连接 基本TCP客户-服务器程序的套接口函数 套接口编程基本函数 socket 函数 为了执行网络I/O,一个进程(无论

unix网络编程之基本套接口编程

第一章  套接口编程简介 IPv4套接口地址:"网际套接口地址结构" 通用套接口地址结构: 套接口函数被定义为采用指向通用套接口地址结构的指针,这要求对这些函数的任何调用都必须将指向特定于协议的套接口地址结构的指针类型转换成指向通用套接口地址结构的指针: 套接口地址结构的比较: 值-结果参数: 当把套接口地址结构传递给套接口函数时,总是通过指针来传递的,即传递的是一个指向结构的指针. 1, 从进程到内核传递套接口地址结构有3个函数:bind.connect.sendto,这3个函数的一

函数式编程中的函数—函数式编程的多态

函数式编程中的函数—函数式编程的多态 保存了计算上下文和计算过程的特殊值 保存了计算上下文和计算过程的有输入输出的可计算结构. 保存了计算上下文和计算过程的可配置结构:(柯里化). 函数作为一种特殊的值和结构,可以由更高阶的函数对其进行组合.变换.柯里化等操作: 函数作为输入和输出:本质上都是可配置.可计算结构. 可配置的是作为参量输入的计算上下文: 可计算是计算上下文配置完备后直接进行计算: 普通函数: 参数函数(闭包函数): 高阶函数: 返回函数(内部函数): 值函数:被其它函数引用和调用的

套接口编程简介

1.套接口地址结构 POSIX规范只需要结构中的三个成员:sin_family.sin_addr.sin_port.其中sin_addr又是一个结构 2.通用套接口地址结构 套接口函数被定义为采用指向通用套接口地址结构的指针.由于套接口函数的定义并没有使用void*指针类型, 所以调用套接口函数时必须进行强制类型转换. 使用通用套接口地址结构的原因:内核必须依据通用套接口地址结,检查sin_family的值来确定结构的类型 3.字节排序函数 多字节数据在内存中存储有两种方法.小端字节序把低字节存

UNPv1第四章:基本TCP套接口编程

1 socket函数 为了执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型 #include <sys/socket.h> int socket (int family, int type, int protocol); //返回:若成功则为非负描述符,若出错则为-1 其中family指明协议族,type参数指明套接字类型,protocol参数应该设为某个(见下图)协议类型常值,或者设为0,以选择所给定family和type组合的系统默认值 socket

C网络编程-TCP套接口编程

只有几个基本的示例如下 建立服务端的绑定监听等过程的函数 1 #include<sys/types.h> 2 #include<sys/socket.h> 3 4 #include<netinet/in.h> 5 #include<arpa/inet.h> 6 #include<unistd.h> 7 8 #include<stdio.h> 9 #include<stdlib.h> 10 11 #include<st

【转】Linux C 网络编程——TCP套接口编程

地址:http://blog.csdn.net/matrix_laboratory/article/details/13669211 2. socket() [cpp] view plaincopy <span style="font-size:14px">int socket(int domain, int type, int protocol);</span> socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描述符,应用程

Linux socket 编程中 write 函数使用的注意事项

很多人都以为使用write和使用send发送数据是一样的,确实都可以发送数据,但是有一点需要注意: write 函数不能保证发送的数据一次都能发送完 ,可能只发送了一部分(当内核发送缓冲区满的时候),这点就破坏了数据发送的"原子性",这个原子操作只的是单个包发送的过程中不会被其他发送操作影响.如果中间被打断,那么在同一个 socket 上的其他线程的发送操作就有可能在你间断后,进入发送,导致最后的包混乱.所以最好还是使用 send 来发送. 但也不是说 send 不会被打断,当发送的过

网络编程中select函数的教训

先看一代码: fd_set readfs,writefs; int maxfd = -1; struct timeval tp; int nret = 0; unchar brcvbuf[2048]; tp.tv_sec = 2; tp.tv_usec = 0; FD_ZERO(&readfs); FD_ZERO(&writefs); FD_SET(g_isockid, &readfs); /* g_isockid 为要检测的socket*/ maxfd = Max(maxfd,