![]() |
RT-Thread API参考手册
4.0.3
嵌入式实时操作系统
|
套接字接口 更多...
结构体 | |
| struct | fd_set |
| 文件句柄管理 更多... | |
类型定义 | |
| typedef struct fd_set | fd_set |
| 文件句柄管理 | |
函数 | |
| int | socket (int domain, int type, int protocol) |
| 创建套接字 更多... | |
| int | bind (int s, const struct sockaddr *name, socklen_t namelen) |
| 绑定套接字 更多... | |
| int | listen (int s, int backlog) |
| 监听套接字 更多... | |
| int | accept (int s, struct sockaddr *addr, socklen_t *addrlen) |
| 接收连接 更多... | |
| int | connect (int s, const struct sockaddr *name, socklen_t namelen) |
| 建立连接 更多... | |
| int | send (int s, const void *dataptr, size_t size, int flags) |
| TCP 数据发送 更多... | |
| int | recv (int s, void *mem, size_t len, int flags) |
| TCP 数据接收 更多... | |
| int | sendto (int s, const void *dataptr, size_t size, int flags, const struct sockaddr *to, socklen_t tolen) |
| UDP 数据发送 更多... | |
| int | recvfrom (int s, void *mem, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) |
| UDP 数据接收 更多... | |
| int | closesocket (int s) |
| 关闭套接字 更多... | |
| int | shutdown (int s, int how) |
| 按设置关闭套接字 更多... | |
| int | setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen) |
| 设置套接字选项 更多... | |
| int | getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen) |
| 获取套接字选项 更多... | |
| int | getpeername (int s, struct sockaddr *name, socklen_t *namelen) |
| 获取远端地址信息 更多... | |
| int | getsockname (int s, struct sockaddr *name, socklen_t *namelen) |
| 获取本地地址信息 更多... | |
| int | ioctlsocket (int s, long cmd, void *arg) |
| 配置套接字参数 更多... | |
套接字接口
| int socket | ( | int | domain, |
| int | type, | ||
| int | protocol | ||
| ) |
创建套接字
该函数用于根据指定的地址族、数据类型和协议来分配一个套接字描述符及其所用的资源。
| domain | 协议族 |
| type | 协议类型 |
| protocol | 实际使用的运输层协议 |
| int bind | ( | int | s, |
| const struct sockaddr * | name, | ||
| socklen_t | namelen | ||
| ) |
绑定套接字
用于将端口号和 IP 地址绑定带指定套接字上。当使用 socket() 创造一个套接字时, 只是给定了协议族,并没有分配地址,在套接字接收来自其他主机的连接前,必须用 bind() 给它绑定一个地址和端口号。
| s | 套接字描述符 |
| name | 指向sockaddr结构体的指针,代表要绑定的地址 |
| namelen | sockaddr结构体的长度 |
| int listen | ( | int | s, |
| int | backlog | ||
| ) |
| int accept | ( | int | s, |
| struct sockaddr * | addr, | ||
| socklen_t * | addrlen | ||
| ) |
接收连接
当应用程序监听来自其他主机的连接时,使用该函数初始化连接,accept()为每个 连接创立新的套接字并从监听队列中移除这个连接。
| s | 套接字描述符 |
| addr | 客户端设备地址信息 |
| addrlen | 客户端设备地址结构体的长度 |
| int connect | ( | int | s, |
| const struct sockaddr * | name, | ||
| socklen_t | namelen | ||
| ) |
建立连接
该函数用于建立与指定socket的连接。
| s | 套接字描述符 |
| name | 服务器地址信息 |
| namelen | 服务器地址结构体的长度 |
| int send | ( | int | s, |
| const void * | dataptr, | ||
| size_t | size, | ||
| int | flags | ||
| ) |
TCP 数据发送
| s | 套接字描述符 |
| dataptr | 要发送的数据指针 |
| size | 发送的数据长度 |
| flags | 标志,一般为0 |
| int recv | ( | int | s, |
| void * | mem, | ||
| size_t | len, | ||
| int | flags | ||
| ) |
TCP 数据接收
| s | 套接字描述符 |
| mem | 接收的数据指针 |
| len | 接收的数据长度 |
| flags | 标志,一般为0 |
| int sendto | ( | int | s, |
| const void * | dataptr, | ||
| size_t | size, | ||
| int | flags, | ||
| const struct sockaddr * | to, | ||
| socklen_t | tolen | ||
| ) |
UDP 数据发送
| s | 套接字描述符 |
| dataptr | 发送的数据指针 |
| size | 发送的数据长度 |
| flags | 标志,一般为0 |
| to | 目标地址结构体指针 |
| tolen | 目标地址结构体长度 |
| int recvfrom | ( | int | s, |
| void * | mem, | ||
| size_t | len, | ||
| int | flags, | ||
| struct sockaddr * | from, | ||
| socklen_t * | fromlen | ||
| ) |
UDP 数据接收
| s | 套接字描述符 |
| mem | 接收的数据指针 |
| len | 接收的数据长度 |
| flags | 标志,一般为0 |
| from | 接收地址结构体指针 |
| fromlen | 接收地址结构体长度 |
| int closesocket | ( | int | s | ) |
关闭套接字
| s | 套接字描述符 |
| int shutdown | ( | int | s, |
| int | how | ||
| ) |
按设置关闭套接字
| s | 套接字描述符 |
| how | 套接字控制的方式 |
| int setsockopt | ( | int | s, |
| int | level, | ||
| int | optname, | ||
| const void * | optval, | ||
| socklen_t | optlen | ||
| ) |
设置套接字选项
| s | 套接字描述符 |
| level | 协议栈配置选项 |
| optname | 需要设置的选项名 |
| optval | 获取选项值的缓冲区地址 |
| optlen | 获取选项值的缓冲区长度地址 |
| int getsockopt | ( | int | s, |
| int | level, | ||
| int | optname, | ||
| void * | optval, | ||
| socklen_t * | optlen | ||
| ) |
获取套接字选项
| s | 套接字描述符 |
| level | 协议栈配置选项 |
| optname | 需要设置的选项名 |
| optval | 获取选项值的缓冲区地址 |
| optlen | 获取选项值的缓冲区长度地址 |
| int getpeername | ( | int | s, |
| struct sockaddr * | name, | ||
| socklen_t * | namelen | ||
| ) |
获取远端地址信息
| s | 套接字描述符 |
| name | 接收信息的地址结构体指针 |
| namelen | 接收信息的地址结构体长度 |
| int getsockname | ( | int | s, |
| struct sockaddr * | name, | ||
| socklen_t * | namelen | ||
| ) |
获取本地地址信息
| s | 套接字描述符 |
| name | 接收信息的地址结构体指针 |
| namelen | 接收信息的地址结构体长度 |
| int ioctlsocket | ( | int | s, |
| long | cmd, | ||
| void * | arg | ||
| ) |
配置套接字参数
| s | 套接字描述符 |
| cmd | 套接字操作命令 |
| arg | 操作命令所带参数 |