码迷,mamicode.com
首页 > 编程语言 > 详细

把luasocket集成到c++中

时间:2017-01-16 18:33:42      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:std   ++   get   turn   accept   sse   pac   ase   cal   

建一个项目pro_test,创建一个运行目录test;

把luasocket/src文件夹中的*.lua拷贝到test/src文件夹中;

把socket.dll,mime.dll,lua5.1.dll拷贝到test文件夹中;

把socket.lua改为socket_wrap.lua,因为socket.lua和socket.dll重名了;

 

main.cpp:

#include <stdio.h>

extern "C" 
{
    #include "luasocket.h"
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
    #include "luaconf.h"
};

int main(int narg, char* args[])
{
    lua_State* L = luaL_newstate();
    luaopen_base(L);
    luaL_openlibs(L);

    luaopen_socket_core(L);

    int ret = luaL_dofile(L, args[1]);
    if(ret != 0)
    {
        printf("%s", lua_tostring(L, -1));
    }
    return 0;
}

main.lua:

package.path = D:/xxx/test/src/?.lua;
require("socket_wrap")
local socket = require("socket")
local server = assert(socket.bind("*", 0))
local ip, port = server:getsockname()
print("server open on port " .. port)
local client = server:accept();

 

把luasocket集成到c++中

标签:std   ++   get   turn   accept   sse   pac   ase   cal   

原文地址:http://www.cnblogs.com/afan/p/6290433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!