我希望实现将socket功能嵌入我的Lua构建中的功能。这样我就不需要再复制socket.core.dll了(只是为了好玩)。
我搜索了邮件列表,并看到一些人讨论了这个主题,http://lua-users.org/lists/lua-l/2005-10/msg00269.html 但是我对详细步骤有疑问,谁能给我详细的步骤来更改lua和luasocket代码以使它们一起工作(不使用dll方法)。
我在Windows XP上尝试了以下步骤:
1)将luasocket代码复制到Lua项目中。
2)添加一些代码
我搜索了邮件列表,并看到一些人讨论了这个主题,http://lua-users.org/lists/lua-l/2005-10/msg00269.html 但是我对详细步骤有疑问,谁能给我详细的步骤来更改lua和luasocket代码以使它们一起工作(不使用dll方法)。
我在Windows XP上尝试了以下步骤:
1)将luasocket代码复制到Lua项目中。
2)添加一些代码
static const luaL_Reg lualibs[] = {
{"", luaopen_base},
{LUA_LOADLIBNAME, luaopen_package},
{LUA_TABLIBNAME, luaopen_table},
{LUA_IOLIBNAME, luaopen_io},
{LUA_OSLIBNAME, luaopen_os},
{LUA_STRLIBNAME, luaopen_string},
{LUA_MATHLIBNAME, luaopen_math},
{LUA_DBLIBNAME, luaopen_debug},
{LUA_SOCKETLIBNAME, luaopen_socket_core}, // add this line
{LUA_MIMELIBNAME, luaopen_socket_core}, // add this line
{NULL, NULL}
};
3) 构建项目并运行。
当我输入 print(socket._VERSION)
时,它显示 luasocket 2.0.2
,这是正确的。
当我输入 print(socket.dns.toip("localhost"))
时,它显示 127.0.0.1 table: 00480AD0
,这也是正确的。
但是当我尝试使用其他功能,例如绑定(bind),它无法正常工作。
谁能告诉我原因?
main()
函数中的luaL_openlibs(L);
之后。 - mxcl