加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
sock_cmd_typedef.h 4.95 KB
一键复制 编辑 原始数据 按行查看 历史
精易科技 提交于 2022-12-19 16:57 . 初始化仓库
#pragma once
#define __SOCK_NAME(_index, _name) __LIB2_FNE_NAME_LEFT(__E_FNENAME)##_##_name##_##_index##_
// 传递函数名和索引, 拼接成 定义库名_名字_序号_定义库名, 比如 sock_test_0_sock
#define SOCK_NAME(_index, _name) __LIB2_FNE_NAME_LEFT(__SOCK_NAME(_index, _name))__LIB2_FNE_NAME_LEFT(__E_FNENAME)
// 传递函数名和索引, 拼接成 "定义库名_名字_序号_定义库名", 比如 "sock_test_0_sock"
#define SOCK_NAME_STR(_index, _name) ______E_FNENAME(__SOCK_NAME(_index, _name))
// 这个宏定义了所有的命令, 以后需要命令名数组, 声明命令等, 都可以使用这个宏
#define SOCK_DEF(_MAKE) \
_MAKE( 0, "启动", start_server, "启动网络服务器,绑定到指定端口,成功真,失败返回假", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 1, g_argumentInfo_sock_global_var + 0)\
_MAKE( 1, "停止", stop_server, "停止网络服务器,释放已绑定端口,成功真,失败返回假", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 2, "监听", accept_server, "监听一个端口,等待一个客户端连接,如果设置为无限等待则有连接返回客户端句柄,如果设置等待时间,在等待时间内无连接则返回0,在等待时间之内有连接则返回客户端句柄,出错返回-1", -1, _CMD_OS(__OS_WIN), SDT_INT, 0, LVL_SIMPLE, 0, 0, 1, g_argumentInfo_sock_global_var + 1)\
_MAKE( 3, "接收", recv_server, "接收来自客户端的数据,每次接受的最大长度为20480个字节。如果出错,将向第三个参数写入假,并返回空字节集。", -1, _CMD_OS(__OS_WIN), SDT_BIN, 0, LVL_SIMPLE, 0, 0, 3, g_argumentInfo_sock_global_var + 2)\
_MAKE( 4, "发送", send_server, "向指定客户端发送数据", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 3, g_argumentInfo_sock_global_var + 5)\
_MAKE( 5, "断开连接", close_client, "断开指定客户端连接", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 1, g_argumentInfo_sock_global_var + 2)\
_MAKE( 6, "取客户IP", get_client_ip, "取客户端IP,成功返回客户端IP,失败返回空字符串", -1, _CMD_OS(__OS_WIN), SDT_TEXT, 0, LVL_SIMPLE, 0, 0, 1, g_argumentInfo_sock_global_var + 2)\
_MAKE( 7, "取客户端口", get_client_port, "取客户端口,成功返回客户端口,失败返回-1", -1, _CMD_OS(__OS_WIN), SDT_INT, 0, LVL_SIMPLE, 0, 0, 1, g_argumentInfo_sock_global_var + 2)\
_MAKE( 8, "连接", connect_client, "连接到网络服务器,成功真,失败返回假", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 2, g_argumentInfo_sock_global_var + 8)\
_MAKE( 9, "断开", client_close, "断开与网络服务器的连接,成功真,失败返回假", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 10, "接收", recv_client, "接收来自网络服务器的数据,每次接受的最大长度为20480个字节。如果出错,将向第二个参数写入假,并返回空字节集。", -1, _CMD_OS(__OS_WIN), SDT_BIN, 0, LVL_SIMPLE, 0, 0, 2, g_argumentInfo_sock_global_var + 10)\
_MAKE( 11, "发送", send_client, "向指定网络服务器发送数据", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 2, g_argumentInfo_sock_global_var + 12)\
_MAKE( 12, "配置", setup_udp, "配置网络数据报,成功返回真,失败返回假", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 1, g_argumentInfo_sock_global_var + 14)\
_MAKE( 13, "关闭", close_udp, "关闭网络数据报,成功返回真,失败返回假", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 14, "接收", recvfrom_udp, "接收来自网络数据报的数据,每次接受的最大长度为20480个字节。如果出错,将向第三个参数写入假,并返回空字节集。", -1, _CMD_OS(__OS_WIN), SDT_BIN, 0, LVL_SIMPLE, 0, 0, 3, g_argumentInfo_sock_global_var + 15)\
_MAKE( 15, "发送", sendto_udp, "向指定网络数据报发送数据", -1, _CMD_OS(__OS_WIN), SDT_BOOL, 0, LVL_SIMPLE, 0, 0, 3, g_argumentInfo_sock_global_var + 18)\
_MAKE( 16, "取本机名", get_local_name, "取本机名,成功返回本机名,失败返回空字符串", 1, _CMD_OS(__OS_WIN), SDT_TEXT, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 17, "取本机IP", get_local_ip, "取本机IP,返回IP列表数组", 1, _CMD_OS(__OS_WIN) | CT_RETRUN_ARY_TYPE_DATA, SDT_TEXT, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 18, "取本机端口", get_local_port, "取本机端口,成功返回本机端口,失败-1", -1, _CMD_OS(__OS_WIN), SDT_INT, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 19, "取本机端口", get_local_port_old, "本命令已经被“网络客户端”对象内的取本机端口本命令所取代,所以本已经作废.如果执行则返回-1", 1, _CMD_OS(__OS_WIN) | CT_IS_HIDED, SDT_INT, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 20, "析构函数", server_obj_free_cmd, "服务器对象析构函数", -1, _CMD_OS(__OS_WIN) | CT_IS_HIDED | CT_IS_OBJ_FREE_CMD, _SDT_NULL, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 21, "析构函数", client_obj_free_cmd, "客户端对象析构函数", -1, _CMD_OS(__OS_WIN) | CT_IS_HIDED | CT_IS_OBJ_FREE_CMD, _SDT_NULL, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)\
_MAKE( 22, "析构函数", udp_obj_free_cmd, "数据报对象析构函数", -1, _CMD_OS(__OS_WIN) | CT_IS_HIDED | CT_IS_OBJ_FREE_CMD, _SDT_NULL, 0, LVL_SIMPLE, 0, 0, 0, g_argumentInfo_sock_global_var + 0)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化