eterm协议指令解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:
我们通过Socket方式与中航信系统通讯成功后,就可以发送和接收信息了,当我们把需要发送的指令按eTerm协议要求打包后,就可以发送,这个步骤比较简单,在此就不说明了,重点讲一下如何解析eTerm返回的数据。
      eTerm返回的消息经过一定处理后,返回的是一段纯文本格式数据,对于新手来讲,做到这一步并不难,难的是到这一步后看见一大串杂乱的字符不知道如何下手,怎么才能把这段字符解析成我们需要的格式呢?比如说目前流行的XML格式或是JSON格式,诸如此类。
      下面介绍一种简单的方法来解析这些文本数据,通过分析,我们发现eTerm客户端软件,就是常说的黑屏,显示出来的数据格式很整齐,我们把这个数据复制并粘贴到一个文本文件中,然后用个笨办法来数每一行有多少个字符?答案出来了吧,多试几次,我们很容易看出每一行最多只有80个字符,超过80个字符就会换行,到了这一步,已经成功一半,接下来,我们想办法把返回的文本字符串变成一个数组形式,例如split函数,ASP/C#/JAVA都有类似功能的函数,然后找到分隔符,前面说的每行80字符就会换行,那么我们就以换行符或者回车符作为分隔符,成功得到一个数组后就可以逐行分析返回的数据了,用SubString(0,2)类似的函数就可以把我们需要的元素都提取出来,最后来组成一个XML格式的规范数据集。
提供两种语言的实例,仅供参考,其他语言基本相同。
ASP:
'eterm返回原始字符串重新换行处理函数,每行80个字符,超过80字符即换行
Function NewLine(s)
s=replace(s," "," ")
s=replace(s," "," ")
s=replace(s," ","")
s=replace(s," b","")
s=replace(s," ","")
cut=""
strArr = split(s,chr(13))
     For i = 0 To (UBOUND(strArr)-1)
     If Len(strArr(i))>80 Then
       cut=cut&Left(strArr(i),80)&chr(13)&Replace(strArr(i),Left(strArr(i),80),"")&chr(13)
     Else
       cut=cut&strArr(i)&chr(13)
     End If
     Next
NewLine=cut
End Function

C#:
        /// <summary>
        /// Eterm原始字符处理函数:1过滤无效字符 2一行超过80字符自动换行
        /// </summary>
        /// <param name="str">eTerm原始字符串</param>
        /// <returns></returns>
        public static string EtermNewLine(string str)
        {
            str = str.Replace(" ", " ");
            str = str.Replace(" ", " ");
            str = str.Replace(" ", "");
            str = str.Replace(" b", "");
            str = str.Replace(" ", "");
            str = str.Replace("$", "");
            string cut = "";
            string[] strArr = str.Split('\r');
            for (int i = 0; i < strArr.Length; i++)
            {
                if (strArr.Length > 80)
                {
                    cut += strArr.Substring(0, 80) + "\r";
                    cut += strArr.Replace(strArr.Substring(0, 80), "") + "\r";
                }
                else
                {
                    //该行不足80字符用空格补足
                    cut += strArr + "\r";
                }
            }
            return cut;

        }



本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/10/11/2207043.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
算法
以太网CSMA/CD协议:通信原理、碰撞检测与退避机制深度解析
以太网CSMA/CD协议:通信原理、碰撞检测与退避机制深度解析
203 1
|
6天前
|
存储 安全 搜索推荐
HTTPS协议深度解析
【7月更文挑战第12天】HTTPS协议通过加密通信和身份验证机制,为数据传输提供了强有力的安全保障。在现代互联网环境中,HTTPS已成为保障网站和用户数据安全的重要手段。了解HTTPS的工作原理和安全性特性,有助于更好地应用和维护HTTPS,提升网络安全水平。
|
21天前
|
JavaScript 前端开发 API
Vue核心指令解析:探索MVVM与数据操作之美
Vue核心指令解析:探索MVVM与数据操作之美
|
15天前
|
网络协议 Linux 分布式数据库
【Linux】DNS系统,ICMP协议,NAPT技术详解
NAPT(Network Address Port Translation),也被称为端口地址转换,是一种NAT(网络地址转换)的形式。NAPT允许多个设备在内部网络上使用私有IP地址,并通过单个公共IP地址与外部网络进行通信。NAPT通过改变传输层的端口号来实现这一点,从而允许多个内部设备共享同一个公共IP地址。
21 0
|
19天前
|
传感器 监控 网络协议
Modbus协议详细解析与案例分享
Modbus协议详细解析与案例分享
35 0
|
1月前
|
网络协议 应用服务中间件 网络性能优化
解析TCP /UDP协议的 socket 调用的过程
【6月更文挑战第2天】该文介绍了传输层的两种主要协议TCP和UDP的区别。TCP是面向连接、可靠的,提供顺序无错的数据传输,而UDP则是无连接、不可靠的,不保证数据顺序或不丢失。
|
20天前
|
网络协议 前端开发 数据安全/隐私保护
技术笔记:SOCKS5协议解析
技术笔记:SOCKS5协议解析
12 0
|
1月前
|
存储 安全 网络协议
邮件协议揭秘:SMTP与IMAP的双重功能解析
SMTP和IMAP是电子邮件系统的核心协议,SMTP负责邮件发送,通过SSL/TLS保证安全,而IMAP则处理邮件接收和管理,支持服务器存储及状态同步。这两种协议相辅相成,为现代邮件系统提供了坚实基础。它们广泛应用于各种邮件客户端,确保了兼容性、功能丰富性和安全性,满足用户对电子邮件的多样化需求。
51 3
|
26天前
|
数据采集 安全 数据安全/隐私保护
IP代理的协议与主要应用场景解析
**IP代理概述:** HTTP、HTTPS和SOCKS5代理协议用于隐藏真实IP,提供隐私保护、访问受限内容、数据采集、社交媒体营销和网络测试。HTTPS加密增强安全性,SOCKS5则更通用灵活。代理广泛应用于多场景,但需合法安全使用。
|
1月前
|
域名解析 网络协议 程序员
网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)
网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)
25 0

推荐镜像

更多