[发明专利]一种基于Lua的socket通信语义解析方法和应用系统有效
申请号: | 201410602650.3 | 申请日: | 2014-10-31 |
公开(公告)号: | CN104363212B | 公开(公告)日: | 2018-10-19 |
发明(设计)人: | 张厚瑞 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/445 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 lua socket 通信 语义 解析 方法 适配器 应用 系统 | ||
本发明涉及一种基于Lua的socket通信语义解析方法、适配器和应用系统,所述方法包括:步骤1,配置lua脚本,并在lua脚本中定义对各种类型的报文进行解析的解析函数;步骤2,定义调用lua脚本的函数call_lua_func,再采用函数call_lua_func调用步骤1配置的lua脚本;步骤3,通过调用的lua脚本解析socket通信报文。基于该方法的原理,本发明还给出了相应的socket适配器和应用系统。本发明是基于lua语言,适用于不同协议的socket通信,使socket通信与接口语义分离,实现不同socket通信报文可配置,提高了程序复用度,减少了开发工作量。
技术领域
本发明涉及socket套接字通信技术领域,特别是涉及一种基于Lua的 socket通信语义解析方法、适配器和应用系统。
背景技术
Socket通信是网络中计算机进行通信的一种方法,是基于TCP/IP协议栈之上的通讯协议,应用程序通过调用系统提供的socket库函数实现网络里计算机间的通信。在通信过程中,tcp建立连接要进行“三次握手”,即交换三个分组。大致流程如下:
客户端向服务器发送一个SYN J;
服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+1;
客户端再想服务器发一个确认ACK K+1。
“三次握手”的流程如图1所示,tcp建立连接的过程是通过socket 应用实现的,可以看做是socket技术的一种特殊实现场景。
在tcp/ip协议栈之上采用socket通信时,客户端与服务端需要约定通信报文格式,以便通信双方可以理解通信语义,约定通信语义的过程即定义接口规范。
一个完整的接口规范需要包含通信过程、通信报文等。通信过程即明确通信过程中连接方式(长连接还是短连接),是否需要登录、维持会话等通信管理功能。而通信报文是指约定通信语义。
由于socket基于TCP/IP协议栈,因此在定义接口规范时,灵活性较大。不同应用约定的接口规范不同。比较典型的通信接口协议如MML协议,H2 协议,DCC协议等等。由于接口规范不同,通信过程和通信报文均不相同,因此,在实际程序开发时,需要针对各种协议单独开发。
Lua是一个小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。
因此,本发明提出了一种基于Lua的socket通信语义解析方法、适配器和应用系统。
发明内容
本发明所要解决的技术问题是提供一种基于Lua的socket通信语义解析方法、适配器和应用系统,用于解决socket通信中各种不同协议的通信语义解析问题。
本发明解决上述技术问题的技术方案如下:一种基于Lua的socket通信语义解析方法,包括:
步骤1,配置lua脚本,并在lua脚本中定义对各种类型的报文进行解析的解析函数;
步骤2,定义调用lua脚本的函数call_lua_func,再采用函数 call_lua_func调用步骤1配置的lua脚本;
步骤3,通过调用的lua脚本解析socket通信报文。
本发明的技术方案还包括一种基于Lua的socket适配器,包括:
Lua脚本定制模块,其用于配置lua脚本,并在lua脚本中定义对各种类型的报文进行解析的解析函数;
Lua脚本调用模块,其用于定义调用lua脚本的函数call_lua_func,再采用函数call_lua_func调用配置的lua脚本;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410602650.3/2.html,转载请声明来源钻瓜专利网。