Je veux implémenter la fonction comme si j'intégrais la fonction socket dans ma construction Lua. Ainsi, je n'ai plus besoin de copier socket.core.dll (juste pour le plaisir).
J'ai fait une recherche sur la liste, et j'ai vu que quelques personnes discutaient du sujet, http://lua-users.org/lists/lua-l/2005-10/msg00269.html
Mais j'ai une question pour les étapes détaillées, qui pourrait me donner les étapes détaillées pour changer le code lua et luasocket pour les faire fonctionner ensemble (pas avec la méthode dll).
J'ai essayé ces étapes sous Windows xp avec VC2008 :
1) copier le code luasocket dans le projet Lua.
2) ajouter du code
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) construire le projet et l'exécuter.
Lorsque je tape print(socket._VERSION)
, il montre luasocket 2.0.2
il est correct.
Lorsque je tape print(socket.dns.toip("localhost"))
, il montre 127.0.0.1 table: 00480AD0
, c'est également correct.
Mais lorsque j'essaie d'utiliser d'autres fonctions, par exemple la liaison, cela ne fonctionne pas.
Qui pourrait m'en donner la raison ?