CN108650243A - 连接建立方法、系统、设备及计算机可读存储介质 - Google Patents
连接建立方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108650243A CN108650243A CN201810370940.8A CN201810370940A CN108650243A CN 108650243 A CN108650243 A CN 108650243A CN 201810370940 A CN201810370940 A CN 201810370940A CN 108650243 A CN108650243 A CN 108650243A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- connection
- verify data
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Abstract
本发明公开了一种连接建立方法、系统、设备及计算机可读存储介质,该方法包括步骤:当服务器接收到登录请求后,验证所述登录请求,得到对应的验证数据,其中,所述登录请求是所述客户端侦测到登录请求后发送给所述服务器的;将所述验证数据发送给所述客户端,以供所述客户端在接收到所述验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器;当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则;若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接。本发明提高了服务器的安全性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种连接建立方法、系统、设备及计算机可读存储介质。
背景技术
现有客户端和服务器建立连接的方法,都是客户端先发送连接请求给服务器,和服务器建立通信连接。当客户端连接上服务器后,客户端再去认证连接请求对应用户的身份,然后才执行登录和发送消息等操作。即在客户端与服务器建立连接过程中,客户端只要获取到服务器的IP(Internet Protocol,网络之间互连的协议)地址,即可与服务器建立连接,在与服务器建立连接之前,不需要验证用户的身份,因此容易导致非法分子很容易连接到服务器中,降低了服务器的安全性。
发明内容
本发明的主要目的在于提供一种连接建立方法、系统、设备及计算机可读存储介质,旨在解决现有的非法分子容易连接到服务器中,从而导致服务器安全性低的技术问题。
为实现上述目的,本发明提供一种连接建立方法,所述连接建立方法包括步骤:
当服务器接收到登录请求后,验证所述登录请求,得到对应的验证数据,其中,所述登录请求是所述客户端侦测到登录请求后发送给所述服务器的;
将所述验证数据发送给所述客户端,以供所述客户端在接收到所述验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器;
当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则;
若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接。
优选地,所述当服务器接收到登录请求后,验证所述登录请求,得到对应的验证数据,其中,所述登录请求是所述客户端侦测到登录请求后发送给所述服务器的步骤包括:
当所述服务器接收到登录请求后,在所述登录请求中提取登录用户名和登录密码;
根据所述登录用户名和所述登录密码进行登录验证,得到对应的验证数据;
其中,当所述客户端侦测到所述登录请求后,读取配置信息,根据所述配置信息设置连接所述服务器的连接信息,根据所述连接信息将所述登录请求发送给所述服务器。
优选地,所述将所述验证数据发送给所述客户端,以供所述客户端在接收到所述验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器的步骤包括:
将所述验证数据发送给所述客户端;
其中,当所述客户端接收到所述验证数据后,检测所述验证数据中是否存在登录字符串;
若检测到所述验证数据中存在登录字符串,则确定所述登录请求对应的登录操作处于正常状态,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器。
优选地,所述将所述登录字符串转换成请求报文发送给所述服务器的步骤包括:
根据所述登录字符串的长度进行位运算,以重组所述登录字符串,得到重组后的所述登录字符串;
将重组后的所述登录字符串与所述预设质数进行取模运算,得到与所述登录字符串对应的数据报文;
通过预设协议将所述数据报文转换成请求报文发送给所述服务器。
优选地,所述当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则的步骤包括:
当所述服务器接收到所述请求报文后,获取所述请求报文中的登录字符串,并检测在数据库中是否查找到与所述请求报文中的登录字符串相同的预设字符串;
若查找到所述预设字符串,则确定所述请求报文符合建立连接的建立规则;
若未查找到所述预设字符串,则确定所述请求报文未符合建立连接的建立规则。
优选地,所述若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接的步骤之后,还包括:
生成与所述客户端成功建立连接的第一提示信息,并将所述第一提示信息发送给所述客户端,以供所述客户端在接收到所述第一提示信息后监控与所述服务器之间的连接状态。
优选地,所述当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则的步骤之后,还包括:
若检测到所述请求报文未符合所述建立规则,则拒绝与所述客户端建立连接,并生成第二提示信息;
将所述第二提示信息发送给所述客户端,以供所述客户端根据所述第二提示信息提示客户端用户建立连接失败。
此外,为实现上述目的,本发明还提供一种连接建立系统,所述连接建立系统包括服务器和客户端,所述服务器包括:
验证模块,用于当接收到登录请求后,验证所述登录请求,得到对应的验证数据;
第一发送模块,用于将所述验证数据发送给所述客户端;
检测模块,用于当接收到所述客户端发送的请求报文后,检测所述请求报文是否符合建立连接的建立规则;
建立模块,用于若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接;
所述客户端包括:
第二发送模块,用于在侦测到登录请求后,将所述登录请求发送给所述服务器;
获取模块,用于在接收到所述服务器发送的验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串;
转换模块,用于将所述登录字符串转换成请求报文发送给所述服务器。
此外,为实现上述目的,本发明还提供一种连接建立设备,所述连接建立设备包括存储器、微处理器和存储在所述存储器上并可在所述处理器上运行的连接建立程序,所述连接建立程序被所述微处理器执行时实现如上所述的连接建立方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有连接建立程序,所述连接建立程序被处理器执行时实现如上所述的连接建立方法的步骤。
本发明通过当客户端侦测到登录请求后,将登录请求发送给服务器进行登录验证;当服务器接收到登录请求后,验证该登录请求,并返回验证数据给客户端;当客户端根据验证数据确定登录请求对应的登录操作处于正常状态后,获取验证数据中的登录字符串,将登录字符串转换成请求报文发送给服务器;当服务器接收到请求报文,且检测到该请求报文符合建立连接的建立规则后,服务器才建立与客户端之间的连接。通过在与客户端建立连接之前,先进行登录验证,通过验证后再建立连接,减少了无用连接的创建,减轻了服务器的负担,以及避免了非法分子在获取到服务器的IP地址后即可连接到服务器,提高了服务器的安全性。
附图说明
图1为本发明连接建立方法第一实施例的流程示意图;
图2为本发明连接建立方法第二实施例的流程示意图;
图3为本发明连接建立方法第三实施例的流程示意图;
图4位本发明连接建立系统较佳实施例的功能示意图模块图;
图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种连接建立方法,参照图1,图1为本发明连接建立方法第一实施例的流程示意图。
本发明实施例提供了连接建立方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
连接建立方法可应用于服务器中,连接建立方法包括:
步骤S10,当服务器接收到登录请求后,验证所述登录请求,得到对应的验证数据,其中,所述登录请求是所述客户端侦测到登录请求后发送给所述服务器的。
当客户端侦测到其用户触发的登录请求后,将登录请求发送给服务器。当服务器接收到客户端发送的登录请求后,服务器验证该登录请求,得到验证结果,并根据验证结果得到对应的验证数据。其中,该登录请求为客户端需要连接服务器时,客户端用户触发的。验证数据包括但不限于登录字符串,登录设备ID(身份标识号)号、登录用户名和消息ID号。通过该登录字符串可以确定发送登录请求的客户端是否存在与服务器建立连接的权限;登录设备ID号为客户端的身份标识,通过登录设备ID可以确定与服务器建立的客户端是哪一个客户端;登录用户名是触发该登录请求用户的标识,通过登录用户名,服务器可唯一确定触发该登录请求的用户;消息ID为客户端和服务器建立连接后,客户端和服务器之间所传输的数据的标识。在本实施例中,服务器可为XMPP(Extensible Messaging and PresenceProtocol,可扩展通讯和表示协议)服务器。
进一步地,步骤S10包括:
步骤a,当所述服务器接收到登录请求后,在所述登录请求中提取登录用户名和登录密码。
进一步地,当服务器接收到客户端发送的登录请求后,在登录请求中提取登录用户名和登录密码。其中,该登录密码为客户端用户登录客户端时所需的密码。可以理解的是,当登录用户名和登录密码都正确时,用户才能成功登录客户端。
步骤b,根据所述登录用户名和所述登录密码进行登录验证,得到对应的验证数据;
其中,当所述客户端侦测到所述登录请求后,读取配置信息,根据所述配置信息设置连接所述服务器的连接信息,根据所述连接信息将所述登录请求发送给所述服务器。
当服务器在登录请求中提取到登录用户名和登录密码后,服务器根据登录用户名和登录密码进行登录验证,得到与登录请求对应的验证数据。服务器根据登录用户名和登录密码进行登录验证具体过程为:服务器在其数据库中查找该登录用户名。若服务器在其数据库中查找到该登录用户名,服务器则确定登录用户名通过验证;若服务器在其数据库中未查找到该登录用户名,服务器则确定登录用户名未通过验证。服务器将登录密码与其数据库中预先存储的预设密码进行对比。若数据库中存在与登录密码一致的预设密码,服务器则确定登录密码通过验证;若数据库中未存在与登录密码一致的预设密码,服务器则确定登录密码未通过验证。
当登录用户名和登录密码都通过验证时,服务器生成携带有登录字符串的验证数据;当登录用户名未通过验证,和/或登录密码未通过验证时,服务器生成未携带登录字符串的验证数据。
进一步地,当客户端侦测到登录请求后,读取配置信息,根据配置信息确定与服务器建立连接的连接环境,并根据配置信息设置连接服务器的连接信息,根据连接信息,通过HTTP(HyperText Transfer Protocol,超文本传输协议)将登录请求发送给服务器。
其中,连接环境包括但不限于测试环境和本地环境。本地环境为客户端与服务器连接的环境,测试环境为预先设置好的环境。配置信息包括客户端类型、服务器的IP地址、服务器的端口号、通信技术类型、通信数据传输类型和消息解析方法等。如在本实施例,通信技术类型可设置为java非阻塞式IO(java non-blocking IO);通信数据传输类型可设置为protobuf,protobuf是一个规定好的数据传播格式;消息解析方法可为在传输数据给服务器时,按照google protobuf协议将数据转换成报文。
连接信息为服务器的IP地址和端口号。客户端根据配置信息设置连接信息的过程为:第一步:将所读取的配置信息转成Java Map对象。其中,配置信息存放在client(客户端).properties中,采用key=value形式存储,properties表示一个持久的属性集,属性列表中每个键及其对应的值都是一个字符串。当客户端启动时,使用Java File类读取配置信息。为避免过多的I/O(Input/Output,输入/输出)读写操作影响客户端性能,客户端将每行key=value作为一个String(字符串)对象添加到一个List<String>对象list中,并将list进行遍历,依次取出key=value的String对象,然后把String转成数组,该数组只有两个元素[key,value],此时用一个Map<String key,String value>将数组对象转成Java Map对象。
第二步:客户端对其系统参数类成员变量赋值,以使Java Map对象中的数据都匹配到对应的成员变量。系统参数类System Config中定义了以下几个成员变量:①client:客户端模式;②transport:客户端、服务器之间的数据传输模式;③host:服务器的IP地址;④port:服务器的端口号;⑤handlers:监听处理类。每个成员变量均有set(设置)和get(获取)方法,在本实施例中,利用反射技术获取System Config对象的所有方法,遍历后筛选出set开头、方法修饰类型为public或static、返回类型为void(空类型)的方法,方法名用substring(3)截取得到新的字符串,与Java Map对象中的key进行匹配得到对应的value值。若value值为null(空),则进入下一个循环;若value值不为null,则将value赋值给system Config对应的成员变量,直到Java Map对象中的数据都匹配赋值到对应的成员变量为止,完成客户端参数初始化赋值。其中,public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。
当客户端根据配置信息设置连接服务器的连接信息后,客户端执行封装和实例化操作,并启动监听线程,以通过该监听线程监听与服务器建立连接的过程,获取服务器返回的验证数据等。
客户端执行封装和实例化操作的过程为:自定义一个延迟加载类ExtensionLoader<T>,使用泛型表示可以缓存任何类型的Java类;从缓存中取出其对应的ExtensionLoader<Client>对象;然后根据ExtensionLoader<Client>对象进行实例化操作并获得一个对象client;在缓存中查找ExtensionLoader<Client>对象对应的实例。若查找该实例,则返回该实例;若未查找到该实例,则读取配置信息。需要说明的是,配置信息也是采用key=value的格式进行数据存放,Client作为一个接口类,有一个实现类AbStractClient,AbStract Client有两个实现类Swing Client和Console Client,配置信息里面的信息就是swing=Swing Client类的绝对路径,console=Console Client类的绝对路径,同样是利用反射技术根据key得到对应的类名,然后调用Class.forName实例化Client的实例,并保存到缓存中。需要说明的是,反射技术是.NET中的重要机制。监听线程是一个类,封装和实例化客户端的过程是为了在创建连接过程中,监听线程能够更好的监听整个创建连接的过程。
步骤S20,将所述验证数据发送给所述客户端,以供所述客户端在接收到所述验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器。
当服务器得到验证数据后,将验证数据发送给客户端,以供客户端在接收到验证数据,且根据验证数据确定登录请求对应的登录操作处于正常状态后,获取验证数据中的登录字符串,将登录字符串转换成请求报文发送给服务器。进一步地,当客户端接收到验证数据后,会将验证数据保存到其系统参数类中,以便于在建立与服务器连接过程中,在系统参数种类中获取登录字符串。
进一步地,步骤S20包括:
步骤c,将所述验证数据发送给所述客户端。
其中,当所述客户端接收到所述验证数据后,检测所述验证数据中是否存在登录字符串;
若检测到所述验证数据中存在登录字符串,则确定所述登录请求对应的登录操作处于正常状态,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器。
进一步地,当服务器将验证数据发送给客户端,客户端接收到该验证数据后,客户端检测验证数据中是否存在登录字符串。若检测到验证数据中存在登录字符串,客户端则确定登录请求对应的登录操作处于正常状态,并获取验证数据中的登录字符串,将登录字符串转换成请求报文,通过nio技术发送TCP(Transmission Control Protocol,传输控制协议)连接给服务器,以将请求报文发送给服务器。nio技术提供了非阻塞型I/O的异步输入输出机制,为提高系统的性能提供了可实现的基础机制。
进一步地,若检测到验证数据中未存在登录字符串,客户端则确定登录请求对应的登录操作处于异常状态,并关闭监听线程。当客户端确定登录操作处于异常状态后,客户端输出登录异常的提示信息,以提示用户登录异常。
进一步地,所述将所述登录字符串转换成请求报文发送给所述服务器的步骤包括:
步骤d,根据所述登录字符串的长度进行位运算,以重组所述登录字符串,得到重组后的所述登录字符串。
进一步地,客户端将登录字符串转换成请求报文后发送给服务器的过程可为:客户端获取登录字符串的长度,在for循环体中根据登录字符串的长度进行位运算,以重组登录字符串,得到重组后的登录字符串。
步骤e,将重组后的所述登录字符串与所述预设质数进行取模运算,得到与所述登录字符串对应的数据报文。
当客户端得到重组后的登录字符串后,将重组后的登录字符串与预设质数进行取模运算,得到与登录字符串对应的数据报文。其中,在本实施例中,预设质数为31。质数31是Java中规定的长度。可以理解的是,可以根据需要在Java代码中将预设质数修改为其它质数。
步骤f,通过预设协议将所述数据报文转换成请求报文发送给所述服务器。
当客户端得到与登录字符串对应的数据报文后,通过预设协议将数据报文转换成请求报文,并将该请求报文发送给服务器。其中,预设协议可为Google protobuf协议或者Apache Thrift协议。
步骤S30,当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则。
当服务器接收到客户端发送的请求报文后,服务器检测该请求报文是否符合建立连接的建立规则。
进一步地,步骤S30包括:
步骤g,当所述服务器接收到所述请求报文后,获取所述请求报文中的登录字符串,并检测在数据库中是否查找到与所述请求报文中的登录字符串相同的预设字符串。
进一步地,服务器检测请求报文是否符合建立连接的建立规则的过程为:当服务器接收到请求报文后,服务器解析请求报文,获取请求报文中的登录字符串,并检测在其数据库中是否查找到与请求报文中的登录字符串相同的预设字符串。其中,该数据库可为mysql数据库或者RAM(Random-Access Memory,随机存取存储器)存储器。
步骤h,若查找到所述预设字符串,则确定所述请求报文符合建立连接的建立规则。
若在数据库中查找到与请求报文中的登录字符串相同的预设字符串,服务器确定请求报文符合建立连接的连接规则。
步骤i,若未查找到所述预设字符串,则确定所述请求报文未符合建立连接的建立规则。
若在数据库中未查找到与请求报文中的登录字符串相同的预设字符串,服务器确定请求报文未符合建立连接的连接规则。
步骤S40,若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接。
当服务器检测到请求报文符合建立连接的建立规则后,服务器建立与客户端之间的连接。当服务器和客户端之间建立连接后,客户端可与服务器进行数据传输,进行通信。
本实施例通过当客户端侦测到登录请求后,将登录请求发送给服务器进行登录验证;当服务器接收到登录请求后,验证该登录请求,并返回验证数据给客户端;当客户端根据验证数据确定登录请求对应的登录操作处于正常状态后,获取验证数据中的登录字符串,将登录字符串转换成请求报文发送给服务器;当服务器接收到请求报文,且检测到该请求报文符合建立连接的建立规则后,服务器才建立与客户端之间的连接。通过在与客户端建立连接之前,先进行登录验证,通过验证后再建立连接,减少了无用连接的创建,减轻了服务器的负担,以及避免了非法分子在获取到服务器的IP地址后即可连接到服务器,提高了服务器的安全性。
进一步地,提出本发明连接建立方法第二实施例。
所述连接建立方法第二实施例与所述连接建立方法第一实施例的区别在于,参照图2,连接建立方法还包括:
步骤S50,生成与所述客户端成功建立连接的第一提示信息,并将所述第一提示信息发送给所述客户端,以供所述客户端在接收到所述第一提示信息后监控与所述服务器之间的连接状态。
当服务器与客户端成功建立连接后,服务器生成与客户端成功建立连接的第一提示信息,并将第一提示信息发送给客户端。当客户端接收到第一提示信息后,在其显示界面中输出第一提示信息,并在接收到第一提示信息后监控与服务器之间的连接状态。客户端输出第一提示信息的输出方式包括但不限于文字形式和语音形式。如客户端可在其显示界面中输出“成功连接”的文字信息,以输出第一提示信息。
客户端监控与服务器之间的连接状态的过程为:客户端创建心跳包,并在创建心跳包后启动心跳包,通过该心跳包发送定时任务给服务器,以监控其与服务器之间的连接状态。当客户端启动心跳包后,客户端获取对应的心跳日志,并存储该心跳日志,以供用户根据该心跳日志确定客户端和服务器是否处于已连接状态。需要说明的是,客户端通过心跳包发送定时任务给服务器即为客户端不断向服务器发送连接请求。
本实施例通过当服务器与客户端成功建立连接后,发送服务器与客户端成功建立连接的第一提示信息给客户端,当客户端接收到第一提示信息后,监控其与服务器之间的连接状态,以便于客户端用户能够及时了解客户端与服务器之间的连接状态。
进一步地,提出本发明连接建立方法第三实施例。
所述连接建立方法第三实施例与所述连接建立方法第一或第二实施例的区别在于,参照图3,连接建立方法还包括:
步骤S60,若检测到所述请求报文未符合所述建立规则,则拒绝与所述客户端建立连接,并生成第二提示信息。
若服务器检测到请求报文未符合建立连接的建立规则,服务器则拒绝与客户端建立连接,并生成建立连接失败的第二提示信息。
步骤S70,将所述第二提示信息发送给所述客户端,以供所述客户端根据所述第二提示信息提示客户端用户连接建立失败。
当服务器生成第二提示信息后,将第二提示信息发送给客户端。当客户端接收到第二提示信息后,在其显示界面中输出第二提示信息,以根据第二提示信息提示其用户与服务器之间的连接建立失败。需要说明的是,客户端输出第二提示信息的输出方式包括但不限于文字形式和语音形式。如客户端可在其显示界面中显示“连接失败”的文字信息,以输出第二提示信息。
本实施例通过当服务器检测到请求报文未符合建立规则后,发送第二提示信息给客户端,以供客户端根据第二提示信息提示客户端用户与服务器之间的连接建立失败,以便于用户可根据需要决定是否重新建立连接。
此外,参照图4,本发明还提供一种连接建立系统,所述连接建立系统包括服务器10和客户端20,所述服务器10包括:
验证模块11,用于当接收到登录请求后,验证所述登录请求,得到对应的验证数据;
第一发送模块12,用于将所述验证数据发送给所述客户端20;
检测模块13,用于当接收到所述客户端20发送的请求报文后,检测所述请求报文是否符合建立连接的建立规则;
建立模块14,用于若检测到所述请求报文符合所述建立规则,则建立与所述客户端20之间的连接;
所述客户端20包括:
第二发送模块21,用于在侦测到登录请求后,将所述登录请求发送给所述服务器10;
获取模块22,用于在接收到所述服务器10发送的验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串;
转换模块23,用于将所述登录字符串转换成请求报文发送给所述服务器10。
本实施例通过当第二发送模块21侦测到登录请求后,将登录请求发送给服务器10进行登录验证;当验证模块11接收到登录请求后,验证该登录请求,第一发送模块12返回验证数据给客户端20;当客户端20的获取模块22根据验证数据确定登录请求对应的登录操作处于正常状态后,获取验证数据中的登录字符串,转换模块23将登录字符串转换成请求报文发送给服务器10;当服务器10的检测模块13接收到请求报文,且检测到该请求报文符合建立连接的建立规则后,建立模块14才建立与客户端20之间的连接。通过在与客户端20建立连接之前,先进行登录验证,通过验证后再建立连接,减少了无用连接的创建,减轻了服务器10的负担,以及避免了非法分子在获取到服务器10的IP地址后即可连接到服务器10,提高了服务器10的安全性。
进一步地,所述验证模块11包括:
提取单元,用于当接收到登录请求后,在所述登录请求中提取登录用户名和登录密码;
验证单元,用于根据所述登录用户名和所述登录密码进行登录验证,得到对应的验证数据;
所述第二发送模块21还用于当侦测到所述登录请求后,读取配置信息,根据所述配置信息设置连接所述服务器10的连接信息,根据所述连接信息将所述登录请求发送给所述服务器10。
进一步地,所述获取模块22包括:
检测单元,用于当接收到所述验证数据后,检测所述验证数据中是否存在登录字符串;
第一获取单元,用于若检测到所述验证数据中存在登录字符串,则确定所述登录请求对应的登录操作处于正常状态,获取所述验证数据中的登录字符串。
进一步地,所述转换模块23包括:
运算单元,用于根据所述登录字符串的长度进行位运算,以重组所述登录字符串,得到重组后的所述登录字符串;将重组后的所述登录字符串与所述预设质数进行取模运算,得到与所述登录字符串对应的数据报文;
转换单元,用于通过预设协议将所述数据报文转换成请求报文发送给所述服务器10。
进一步地,所述检测模块13包括:
第二获取单元,用于当接收到所述请求报文后,获取所述请求报文中的登录字符串;
检测单元,用于检测在数据库中是否查找到与所述请求报文中的登录字符串相同的预设字符串;
确定单元,用于若查找到所述预设字符串,则确定所述请求报文符合建立连接的建立规则;若未查找到所述预设字符串,则确定所述请求报文未符合建立连接的建立规则。
进一步地,所述服务器10还包括:
第一生成模块,用于生成与所述客户端20成功建立连接的第一提示信息;
所述第一发送模块12还用于将所述第一提示信息发送给所述客户端20,以供所述客户端20在接收到所述第一提示信息后监控与所述服务器10之间的连接状态。
进一步地,所述服务器10还包括:
第二生成模块,用于若检测到所述请求报文未符合所述建立规则,则拒绝与所述客户端20建立连接,并生成第二提示信息;
所述第一发送模块12还用于将所述第二提示信息发送给所述客户端20,以供所述客户端20根据所述第二提示信息提示客户端用户建立连接失败。
需要说明的是,连接建立系统的各个实施例与上述连接建立方法的各实施例基本相同,在此不再详细赘述。
此外,本发明还提供一种连接建立设备。如图5所示,图5是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图5即可为连接建立设备的硬件运行环境的结构示意图。本发明实施例连接建立设备可以是PC,便携计算机等终端设备。
如图5所示,该连接建立设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,连接建立设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图5中示出的连接建立设备结构并不构成对连接建立设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及连接建立程序。其中,操作系统是管理和控制连接建立设备硬件和软件资源的程序,支持连接建立程序以及其它软件或程序的运行。
在图5所示的连接建立设备中,用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以用于调用存储器1005中存储的连接建立程序,并执行如上所述的连接建立方法的步骤。
本发明连接建立设备具体实施方式与上述连接建立方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有连接建立程序,所述连接建立程序被处理器执行时实现如上所述的连接建立方法的步骤。
本发明计算机可读存储介质具体实施方式与上述连接建立方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种连接建立方法,其特征在于,所述已接入连接建立方法包括以下步骤:
当服务器接收到登录请求后,验证所述登录请求,得到对应的验证数据,其中,所述登录请求是所述客户端侦测到登录请求后发送给所述服务器的;
将所述验证数据发送给所述客户端,以供所述客户端在接收到所述验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器;
当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则;
若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接。
2.如权利要求1所述的连接建立方法,其特征在于,所述当服务器接收到登录请求后,验证所述登录请求,得到对应的验证数据,其中,所述登录请求是所述客户端侦测到登录请求后发送给所述服务器的步骤包括:
当所述服务器接收到登录请求后,在所述登录请求中提取登录用户名和登录密码;
根据所述登录用户名和所述登录密码进行登录验证,得到对应的验证数据;
其中,当所述客户端侦测到所述登录请求后,读取配置信息,根据所述配置信息设置连接所述服务器的连接信息,根据所述连接信息将所述登录请求发送给所述服务器。
3.如权利要求1所述的连接建立方法,其特征在于,所述将所述验证数据发送给所述客户端,以供所述客户端在接收到所述验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器的步骤包括:
将所述验证数据发送给所述客户端;
其中,当所述客户端接收到所述验证数据后,检测所述验证数据中是否存在登录字符串;
若检测到所述验证数据中存在登录字符串,则确定所述登录请求对应的登录操作处于正常状态,获取所述验证数据中的登录字符串,并将所述登录字符串转换成请求报文发送给所述服务器。
4.如权利要求3所述的连接建立方法,其特征在于,所述将所述登录字符串转换成请求报文发送给所述服务器的步骤包括:
根据所述登录字符串的长度进行位运算,以重组所述登录字符串,得到重组后的所述登录字符串;
将重组后的所述登录字符串与所述预设质数进行取模运算,得到与所述登录字符串对应的数据报文;
通过预设协议将所述数据报文转换成请求报文发送给所述服务器。
5.如权利要求1所述的连接建立方法,其特征在于,所述当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则的步骤包括:
当所述服务器接收到所述请求报文后,获取所述请求报文中的登录字符串,并检测在数据库中是否查找到与所述请求报文中的登录字符串相同的预设字符串;
若查找到所述预设字符串,则确定所述请求报文符合建立连接的建立规则;
若未查找到所述预设字符串,则确定所述请求报文未符合建立连接的建立规则。
6.如权利要求1所述的连接建立方法,其特征在于,所述若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接的步骤之后,还包括:
生成与所述客户端成功建立连接的第一提示信息,并将所述第一提示信息发送给所述客户端,以供所述客户端在接收到所述第一提示信息后监控与所述服务器之间的连接状态。
7.如权利要求1至6任一项所述的连接建立方法,其特征在于,所述当所述服务器接收到所述请求报文后,检测所述请求报文是否符合建立连接的建立规则的步骤之后,还包括:
若检测到所述请求报文未符合所述建立规则,则拒绝与所述客户端建立连接,并生成第二提示信息;
将所述第二提示信息发送给所述客户端,以供所述客户端根据所述第二提示信息提示客户端用户建立连接失败。
8.一种连接建立系统,其特征在于,所述连接建立系统包括服务器和客户端,所述服务器包括:
验证模块,用于当接收到登录请求后,验证所述登录请求,得到对应的验证数据;
第一发送模块,用于将所述验证数据发送给所述客户端;
检测模块,用于当接收到所述客户端发送的请求报文后,检测所述请求报文是否符合建立连接的建立规则;
建立模块,用于若检测到所述请求报文符合所述建立规则,则建立与所述客户端之间的连接;
所述客户端包括:
第二发送模块,用于在侦测到登录请求后,将所述登录请求发送给所述服务器;
获取模块,用于在接收到所述服务器发送的验证数据,且根据所述验证数据确定所述登录请求对应的登录操作处于正常状态后,获取所述验证数据中的登录字符串;
转换模块,用于将所述登录字符串转换成请求报文发送给所述服务器。
9.一种连接建立设备,其特征在于,所述连接建立设备包括存储器、微处理器和存储在所述存储器上并可在所述微处理器上运行的连接建立程序,所述已接入连接建立程序被所述微处理器执行时实现如权利要求1至7中任一项所述的连接建立方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有连接建立程序,所述已接入连接建立程序被处理器执行时实现如权利要求1至7中任一项所述的连接建立方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810370940.8A CN108650243B (zh) | 2018-04-24 | 2018-04-24 | 连接建立方法、系统、设备及计算机可读存储介质 |
PCT/CN2018/094106 WO2019205288A1 (zh) | 2018-04-24 | 2018-07-02 | 连接建立方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810370940.8A CN108650243B (zh) | 2018-04-24 | 2018-04-24 | 连接建立方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108650243A true CN108650243A (zh) | 2018-10-12 |
CN108650243B CN108650243B (zh) | 2021-04-23 |
Family
ID=63747082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810370940.8A Active CN108650243B (zh) | 2018-04-24 | 2018-04-24 | 连接建立方法、系统、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108650243B (zh) |
WO (1) | WO2019205288A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008254B (zh) * | 2019-12-03 | 2023-08-29 | 北京锐安科技有限公司 | 一种对象创建方法、装置、计算机设备和存储介质 |
CN113094290B (zh) * | 2021-05-21 | 2024-02-23 | 珠海金山数字网络科技有限公司 | 程序测试系统及方法 |
CN114363028B (zh) * | 2021-12-27 | 2024-03-22 | 北京世纪互联宽带数据中心有限公司 | 一种连接建立的方法、客户端、服务端、设备及存储介质 |
CN116684467B (zh) * | 2023-08-02 | 2023-10-27 | 武汉吧哒科技股份有限公司 | 数据获取方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160285858A1 (en) * | 2015-03-27 | 2016-09-29 | Hong Li | Technologies for authentication and single-sign-on using device security assertions |
CN106790056A (zh) * | 2016-12-20 | 2017-05-31 | 中国科学院苏州生物医学工程技术研究所 | 降低数据银行的数据窃取风险的方法和系统 |
CN107249004A (zh) * | 2017-07-24 | 2017-10-13 | 广州市玄武无线科技股份有限公司 | 一种身份认证方法、装置及客户端 |
CN107317791A (zh) * | 2016-12-15 | 2017-11-03 | 平安科技(深圳)有限公司 | 登录验证方法、登录请求方法和安全登录系统 |
CN107666470A (zh) * | 2016-07-28 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种验证信息的处理方法及装置 |
US20180091490A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Authentication framework for a client of a remote database |
-
2018
- 2018-04-24 CN CN201810370940.8A patent/CN108650243B/zh active Active
- 2018-07-02 WO PCT/CN2018/094106 patent/WO2019205288A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160285858A1 (en) * | 2015-03-27 | 2016-09-29 | Hong Li | Technologies for authentication and single-sign-on using device security assertions |
CN107666470A (zh) * | 2016-07-28 | 2018-02-06 | 腾讯科技(深圳)有限公司 | 一种验证信息的处理方法及装置 |
US20180091490A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Authentication framework for a client of a remote database |
CN107317791A (zh) * | 2016-12-15 | 2017-11-03 | 平安科技(深圳)有限公司 | 登录验证方法、登录请求方法和安全登录系统 |
CN106790056A (zh) * | 2016-12-20 | 2017-05-31 | 中国科学院苏州生物医学工程技术研究所 | 降低数据银行的数据窃取风险的方法和系统 |
CN107249004A (zh) * | 2017-07-24 | 2017-10-13 | 广州市玄武无线科技股份有限公司 | 一种身份认证方法、装置及客户端 |
Also Published As
Publication number | Publication date |
---|---|
WO2019205288A1 (zh) | 2019-10-31 |
CN108650243B (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650243A (zh) | 连接建立方法、系统、设备及计算机可读存储介质 | |
CN113676336B (zh) | 微服务访问代理方法、设备及存储介质 | |
CN108650149B (zh) | 服务器的测试方法、装置、设备及计算机可读存储介质 | |
CN109639740B (zh) | 一种基于设备id的登录态共享方法及装置 | |
CN110275831B (zh) | 协议接口的mock数据校验方法和装置 | |
CN105119722B (zh) | 一种身份验证方法、设备及系统 | |
US6665634B2 (en) | Test system for testing dynamic information returned by a web server | |
US6804816B1 (en) | Method and template for developing device-centric network management applications | |
US20060195588A1 (en) | System for detecting vulnerabilities in web applications using client-side application interfaces | |
CN108512666A (zh) | Api请求的加密方法、数据交互方法及系统 | |
CN106681921B (zh) | 数据参数化的实现方法和装置 | |
CN105260318A (zh) | 一种基于网页的自动化测试方法及装置 | |
WO2001057671A1 (en) | Method and system for testing internet-based applications | |
CN104702624A (zh) | 基于CloudStack平台虚拟机登录方法及系统 | |
CN112615759B (zh) | 全链路压测组件、全链路压测方法及装置 | |
CN110336870A (zh) | 远程办公运维通道的建立方法、装置、系统及存储介质 | |
CN109672658A (zh) | Json劫持漏洞的检测方法、装置、设备及存储介质 | |
CN109446801A (zh) | 检测模拟器访问的方法、装置、服务器及存储介质 | |
CN107911383A (zh) | 一种密码校验方法和装置 | |
CN113315681A (zh) | 一种基于智能家庭网关插件的自动化测试方法及系统 | |
CN107919963A (zh) | 一种认证器及其实现方法 | |
CN112035163A (zh) | 软件开发包配置方法、设备和存储介质 | |
KR101745919B1 (ko) | 패스워드 노출 없는 소프트웨어 방식의 hsm을 이용한 사용자 인증 방법 및 시스템 | |
CA2297597A1 (en) | Method and system for testing internet-based applications | |
CN116015739A (zh) | 前后端数据交互方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |