diff --git a/ReadMe.md b/ReadMe.md index dfac983..79a5f57 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -39,7 +39,7 @@ API 介绍,使用文档和测试程序请参考对应 `searcher` 查询客户 | [java](binding/java) | java 查询客户端实现 | 已完成 | [Lion](https://github.com/lionsoul2014) | | [lua](binding/lua) | lua 查询客户端实现 | 开发中... | [Lion](https://github.com/lionsoul2014) | | [c](binding/c) | ANSC c 查询客户端实现 | 已完成 | [Lion](https://github.com/lionsoul2014) | -| [lua_c](binding/lua_c) | lua 查询客户端实现 | 开发中... | [Lion](https://github.com/lionsoul2014) | +| [lua_c](binding/lua_c) | lua 查询客户端实现 | 已完成 | [Lion](https://github.com/lionsoul2014) | | [rust](binding/rust) | rust 查询客户端实现 | 开发中... | [Lion](https://github.com/lionsoul2014) | | [python](binding/python) | python 查询客户端实现 | 待开始 | 待确定 | | [nodejs](binding/nodejs) | nodejs 查询客户端实现 | 待开始 | 待确定 | diff --git a/binding/c/ReadMe.md b/binding/c/ReadMe.md index 0fb5117..591f905 100644 --- a/binding/c/ReadMe.md +++ b/binding/c/ReadMe.md @@ -49,7 +49,7 @@ int main(int argc, char *argv[]) { int main(int argc, char *argv[]) { char *db_path = "ip2region.xdb file path"; - char *v_index; + xdb_vector_index_t *v_index; xdb_searcher_t searcher; char region_buffer[256], ip_buffer[16], *ip = "1.2.3.4"; long s_time; @@ -84,7 +84,7 @@ int main(int argc, char *argv[]) { // 4、关闭 xdb 查询器,如果是要关闭服务,也需要释放 v_index 的内存。 xdb_close(&searcher); - xdb_free(v_index); + xdb_close_vector_index(v_index); return 0; } ``` @@ -98,7 +98,7 @@ int main(int argc, char *argv[]) { int main(int argc, char *argv[]) { char *db_path = "ip2region.xdb file path"; - char *c_buffer; + xdb_content_t *c_buffer; xdb_searcher_t searcher; char region_buffer[256], ip_buffer[16], *ip = "1.2.3.4"; long s_time; @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) { // 4、关闭 xdb 查询器,关闭服务的时候需要释放 c_buffer 的内存。 xdb_close(&searcher); - xdb_free(c_buffer); + xdb_close_content(c_buffer); return 0; } ``` diff --git a/binding/java/ReadMe.md b/binding/java/ReadMe.md index 35dc7e8..c59526c 100644 --- a/binding/java/ReadMe.md +++ b/binding/java/ReadMe.md @@ -7,7 +7,7 @@ org.lionsoul ip2region - 2.6.2 + 2.6.3 ``` diff --git a/binding/java/pom.xml b/binding/java/pom.xml index 60b69b5..5df4def 100644 --- a/binding/java/pom.xml +++ b/binding/java/pom.xml @@ -4,7 +4,7 @@ org.lionsoul ip2region - 2.6.2 + 2.6.3 jar ip2region diff --git a/binding/java/src/main/java/org/lionsoul/ip2region/xdb/Header.java b/binding/java/src/main/java/org/lionsoul/ip2region/xdb/Header.java index 8239639..8ff0680 100644 --- a/binding/java/src/main/java/org/lionsoul/ip2region/xdb/Header.java +++ b/binding/java/src/main/java/org/lionsoul/ip2region/xdb/Header.java @@ -15,6 +15,7 @@ public class Header { public final int createdAt; public final int startIndexPtr; public final int endIndexPtr; + public final byte[] buffer; public Header(byte[] buff) { assert buff.length >= 16; @@ -23,6 +24,7 @@ public class Header { createdAt = Searcher.getInt(buff, 4); startIndexPtr = Searcher.getInt(buff, 8); endIndexPtr = Searcher.getInt(buff, 12); + buffer = buff; } @Override public String toString() { diff --git a/binding/lua_c/bench_test.lua b/binding/lua_c/bench_test.lua index b43391b..7ab41b7 100644 --- a/binding/lua_c/bench_test.lua +++ b/binding/lua_c/bench_test.lua @@ -6,6 +6,9 @@ -- @Author Lion -- @Date 2022/06/30 +-- set the package to load the current xdb_searcher.so +package.path = "./?.lua" .. package.path +package.cpath = "./?.so" .. package.cpath local xdb = require("xdb_searcher") function printHelp() diff --git a/binding/lua_c/search_test.lua b/binding/lua_c/search_test.lua index 4e65a39..62245be 100644 --- a/binding/lua_c/search_test.lua +++ b/binding/lua_c/search_test.lua @@ -6,6 +6,9 @@ -- @Author Lion -- @Date 2022/06/30 +-- set the package to load the current xdb_searcher.so +package.path = "./?.lua" .. package.path +package.cpath = "./?.so" .. package.cpath local xdb = require("xdb_searcher") function printHelp() diff --git a/binding/lua_c/util_test.lua b/binding/lua_c/util_test.lua index e9e2702..5a481c5 100644 --- a/binding/lua_c/util_test.lua +++ b/binding/lua_c/util_test.lua @@ -6,6 +6,9 @@ -- @Author Lion -- @Date 2022/06/30 +-- set the package to load the current xdb_searcher.so +package.path = "./?.lua" .. package.path +package.cpath = "./?.so" .. package.cpath local xdb = require("xdb_searcher") ---- ip checking testing @@ -18,9 +21,9 @@ local ip_list = { local s_time = xdb.now() for _, ip_src in ipairs(ip_list) do - ip, ok = xdb.check_ip(ip_src) - if ok == false then - print(string.format("invalid ip address `%s`", ip_src)) + ip, err = xdb.check_ip(ip_src) + if err ~= nil then + print(string.format("invalid ip address `%s`: %s", ip_src, err)) else ip_dst = xdb.long2ip(ip) io.write(string.format("long(%-15s)=%10d, long2ip(%-10d)=%-15s", ip_src, ip, ip, ip_dst)) diff --git a/maker/golang/make.bat b/maker/golang/make.bat new file mode 100644 index 0000000..28ae394 --- /dev/null +++ b/maker/golang/make.bat @@ -0,0 +1,18 @@ +::ip2region golang maker makefile in windows +@echo off + +if [%1] == [] goto:build + +if %1==clean ( + call:clean +) else if %1==build ( + call:build +) +exit /b 0 + +:build +go build -o xdb_maker.exe +exit /b 0 + +:clean +del/f/s/q xdb_maker.exe