RT-Thread API参考手册
3.1.1
嵌入式实时操作系统
|
套接字接口 更多...
结构体 | |
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 | 操作命令所带参数 |