awtk/docs/manual/socket.md

194 lines
4.8 KiB
Markdown
Raw Normal View History

2020-03-17 10:48:59 +08:00
## socket
### 概述
----------------------------------
### 函数
<p id="socket_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2022-04-22 18:59:41 +08:00
| <a href="#socket_socket_last_io_has_error">socket\_last\_io\_has\_error</a> | 判断最后一次IO操作是否正常。 |
2020-05-24 19:28:22 +08:00
| <a href="#socket_socket_resolve">socket\_resolve</a> | 解析主机名并初始化addr对象。 |
2022-12-05 12:10:53 +08:00
| <a href="#socket_tk_socket_bind">tk\_socket\_bind</a> | 绑定到指定端口。 |
| <a href="#socket_tk_socket_bind_ex">tk\_socket\_bind\_ex</a> | 绑定到指定IP和端口。 |
| <a href="#socket_tk_socket_close">tk\_socket\_close</a> | 关闭socket句柄。 |
| <a href="#socket_tk_socket_deinit">tk\_socket\_deinit</a> | tcp/udp 平台~初始化。 |
| <a href="#socket_tk_socket_init">tk\_socket\_init</a> | tcp/udp 平台初始化。 |
| <a href="#socket_tk_socket_set_blocking">tk\_socket\_set\_blocking</a> | 设置为阻塞或非阻塞模式。 |
| <a href="#socket_tk_socket_wait_for_data">tk\_socket\_wait\_for\_data</a> | 等待数据。 |
#### socket\_last\_io\_has\_error 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_socket_last_io_has_error">判断最后一次IO操作是否正常。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
bool_t socket_last_io_has_error ();
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2022-12-05 12:10:53 +08:00
| 返回值 | bool\_t | 返回TRUE表示有错误否则表示正常。 |
#### socket\_resolve 函数
-----------------------
* 函数功能:
> <p id="socket_socket_resolve">解析主机名并初始化addr对象。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
struct sockaddr* socket_resolve (const char* host, int port, struct sockaddr_in* addr);
2022-12-05 12:10:53 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | struct sockaddr* | 返回地址对象。 |
2023-06-29 10:44:29 +08:00
| host | const char* | 主机名。 |
| port | int | 端口号。 |
2022-12-05 12:10:53 +08:00
| addr | struct sockaddr\_in* | 地址对象。 |
#### tk\_socket\_bind 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_bind">绑定到指定端口。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_bind (int sock, int port);
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| sock | int | socket句柄。 |
2022-12-05 12:10:53 +08:00
| port | int | 端口号。 |
#### tk\_socket\_bind\_ex 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_bind_ex">绑定到指定IP和端口。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_bind_ex (int sock, const char* ip, int port);
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2022-12-05 12:10:53 +08:00
| sock | int | socket句柄。 |
| ip | const char* | IP地址(可以为NULL)。 |
| port | int | 端口号。 |
#### tk\_socket\_close 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_close">关闭socket句柄。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_close (int sock);
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2022-12-05 12:10:53 +08:00
| sock | int | socket句柄。 |
#### tk\_socket\_deinit 函数
2021-10-13 09:51:38 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_deinit">tcp/udp 平台~初始化。
2021-10-13 09:51:38 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_deinit ();
2021-10-13 09:51:38 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2022-12-05 12:10:53 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
#### tk\_socket\_init 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_init">tcp/udp 平台初始化。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_init ();
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2022-12-05 12:10:53 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
#### tk\_socket\_set\_blocking 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_set_blocking">设置为阻塞或非阻塞模式。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_set_blocking (int sock, bool_t blocking);
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| sock | int | socket句柄。 |
| blocking | bool\_t | 是否阻塞。 |
2022-12-05 12:10:53 +08:00
#### tk\_socket\_wait\_for\_data 函数
2020-03-17 10:48:59 +08:00
-----------------------
* 函数功能:
2022-12-05 12:10:53 +08:00
> <p id="socket_tk_socket_wait_for_data">等待数据。
2020-03-17 10:48:59 +08:00
* 函数原型:
```
2022-12-05 12:10:53 +08:00
ret_t tk_socket_wait_for_data (int sock, uint32_t timeout_ms);
2020-03-17 10:48:59 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2020-03-17 10:48:59 +08:00
| sock | int | socket句柄。 |
2020-05-24 19:28:22 +08:00
| timeout\_ms | uint32\_t | 等待时间(ms)。 |