|
|
@@ -1328,30 +1328,40 @@ static int l_socket_set_ssl_log(lua_State *L)
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
|
-查看网卡适配器的联网状态,设置默认网卡适配器
|
|
|
-@api socket.adapter(index, default)
|
|
|
-@int 需要查看的适配器序号,可以留空会查看默认网卡,如果指定网卡,只能是socket.ETH0(外置以太网),socket.LWIP_ETH(内置以太网),socket.LWIP_STA(内置WIFI的STA),socket.LWIP_AP(内置WIFI的AP),socket.LWIP_GP(内置蜂窝网络的GPRS),socket.USB(外置USB网卡)
|
|
|
-@int 需要设置的默认网卡适配器序号,一般情况下不需要设置,不需要填写
|
|
|
+查看网卡适配器的联网状态
|
|
|
+@api socket.adapter(index)
|
|
|
+@int 需要查看的适配器序号,可以留空会查看全部网卡,直到遇到IP READY的,如果指定网卡,只能是socket.ETH0(外置以太网),socket.LWIP_ETH(内置以太网),socket.LWIP_STA(内置WIFI的STA),socket.LWIP_AP(内置WIFI的AP),socket.LWIP_GP(内置蜂窝网络的GPRS),socket.USB(外置USB网卡)
|
|
|
@return boolean 被查看的适配器是否IP READY,true表示已经准备好可以联网了,false暂时不可以联网
|
|
|
-@return int 默认使用的适配器序号,即socket.create时不指定网卡的情况下,默认使用的网卡
|
|
|
+@return int 最后一个被查看的适配器序号
|
|
|
@usage
|
|
|
---查看默认网卡是否IP READY
|
|
|
-local isReady,default = socket.adapter()
|
|
|
+-- 查看全部网卡,直到找到一个是IP READY的
|
|
|
+local isReady,index = socket.adapter() --如果isReady为true,则index为IP READY的网卡适配器序号
|
|
|
--查看外置以太网(比如W5500)是否IP READY
|
|
|
local isReady,default = socket.adapter(socket.ETH0)
|
|
|
---设置外置以太网(比如W5500)为默认网卡
|
|
|
-local isReady,default = socket.adapter(nil, socket.ETH0)
|
|
|
*/
|
|
|
static int l_socket_adapter(lua_State *L)
|
|
|
{
|
|
|
- int new_index = luaL_optinteger(L, 2, -1);
|
|
|
- if (new_index > NW_ADAPTER_INDEX_LWIP_NONE && new_index < NW_ADAPTER_QTY)
|
|
|
+ int adapter_index = luaL_optinteger(L, 1, -1);
|
|
|
+ if (adapter_index > NW_ADAPTER_INDEX_LWIP_NONE && adapter_index < NW_ADAPTER_QTY)
|
|
|
{
|
|
|
- network_register_set_default(new_index);
|
|
|
+ lua_pushboolean(L, network_check_ready(NULL, adapter_index));
|
|
|
+ lua_pushinteger(L, adapter_index);
|
|
|
}
|
|
|
- int adapter_index = luaL_optinteger(L, 1, network_get_last_register_adapter());
|
|
|
- lua_pushboolean(L, network_check_ready(NULL, adapter_index));
|
|
|
- lua_pushinteger(L, network_get_last_register_adapter());
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for(int i = NW_ADAPTER_INDEX_LWIP_GPRS; i < NW_ADAPTER_QTY; i++)
|
|
|
+ {
|
|
|
+ if (network_check_ready(NULL, i))
|
|
|
+ {
|
|
|
+ lua_pushboolean(L, 1);
|
|
|
+ lua_pushinteger(L, i);
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ lua_pushboolean(L, 0);
|
|
|
+ lua_pushinteger(L, NW_ADAPTER_QTY - 1);
|
|
|
+ }
|
|
|
+
|
|
|
return 2;
|
|
|
}
|
|
|
|