基于PHP的TCP服务方法及服务器技术

技术编号:21167101 阅读:23 留言:0更新日期:2019-05-22 09:39
本申请公开了一种基于PHP的TCP服务方法及服务器的方式,其中方法通过包括:通过PHP服务应用程序启动socket服务,对服务端口进行监听;通过所述服务端口接收客户端发送的数据包;根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据;调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果。达到了能够建立起一种基于PHP的TCP服务方法的目的,从而实现了通过本发明专利技术开发得到的TCP服务能够轻松应对高并发的服务场景,同时确保服务的高可用性;任何语言的客户端,只需要实现相应的通信协议,都可以调用该集群服务;同时,通过本申请实现的集群服务只提供局域网内的网络服务,所以性能和安全性都可以得到保障。

TCP Service Method and Server Based on PHP

This application discloses a method of TCP service based on PHP and a way of server. The method includes: starting the socket service through the PHP service application program, monitoring the service port; receiving the data packet sent by the client through the service port; processing the data packet according to the corresponding communication protocol of the service port, and obtaining the corresponding data structure. Programming data; call the function corresponding to the communication protocol to process the data and obtain the corresponding execution results. It achieves the goal of establishing a PHP-based TCP service method, thus realizing that the TCP service developed by the present invention can easily cope with the high concurrent service scenario while ensuring the high availability of the service; the client of any language can call the cluster service as long as the corresponding communication protocol is implemented; at the same time, the cluster service realized by the application is realized. It only provides network services in LAN, so performance and security can be guaranteed.

【技术实现步骤摘要】
基于PHP的TCP服务方法及服务器
本申请涉及通信
,具体而言,涉及一种基于PHP的TCP服务方法及服务器。
技术介绍
现有技术中的PHP服务应用一般都是通过php-fpm对外提供基于HTTP协议的CGI服务;此外,由于PHP服务本身不是常驻内存的,一方面,每一次HTTP通信,PHP服务端都要重新开启一次生命周期,服务效率大打折扣;另一方面,传统的CGI服务耦合性较高,一个接口服务发生问题,可能会导致其他很多接口服务受影响。针对相关技术中存在的诸多问题,目前尚未提出有效的解决方案。
技术实现思路
本申请的主要目的在于提供一种基于PHP的TCP服务方法及服务器,以解决
技术介绍
中存在的至少一个技术问题。为了实现上述目的,根据本申请的一个方面,提供了一种基于PHP的TCP服务方法。根据本申请的基于PHP的TCP服务方法包括:通过PHP服务应用程序启动socket服务,对服务端口进行监听;通过所述服务端口接收客户端发送的数据包;其中,每个所述服务端口具有对应的通信协议;根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据;调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果。进一步的,如前述的基于PHP的TCP服务方法,所述PHP服务应用程序包括:wokerman以及swooleserver。进一步的,如前述的基于PHP的TCP服务方法,所述根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据,包括:根据接收所述数据包的服务端口,确定与所述服务端口对应的通信协议;使用与所述服务端口对应的通信协议对所述数据包进行解析,得到对应的数据包明文;通过所述通信协议定义的序列化方法对所述数据包明文进行反序列化,得到数据结构可编程的数据。进一步的,如前述的基于PHP的TCP服务方法,调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果,包括:通过PHP的反射机制或call_user_func或call_user_func_array调取与所述通信协议对应的函数;根据所述函数对所述数据进行处理得到对应的执行结果。进一步的,如前述的基于PHP的TCP服务方法,在得到对应的执行结果之后,还包括:使用所述通信协议对所述执行结果进行序列化和加密得到加密后结果;将所述加密后结果通过所述服务端口进行发送。为了实现上述目的,根据本申请的另一方面,提供了一种基于PHP的TCP服务的服务器。根据本申请的基于PHP的TCP服务的服务器包括:监听单元,用于通过PHP服务应用程序启动socket服务,对服务端口进行监听;数据包接收单元,用于通过所述服务端口接收客户端发送的数据包;其中,每个所述服务端口具有对应的通信协议;解析单元,用于根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据;数据处理单元,用于调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果。进一步的,如前述的基于PHP的TCP服务的服务器,所述PHP服务应用程序包括:wokerman以及swooleserver。进一步的,如前述的基于PHP的TCP服务的服务器,所述解析单元,包括:通信协议确定模块,用于根据接收所述数据包的服务端口,确定与所述服务端口对应的通信协议;数据包明文获取模块,用于使用与所述服务端口对应的通信协议对所述数据包进行解析,得到对应的数据包明文;反序列化模块,用于通过所述通信协议定义的序列化方法对所述数据包明文进行反序列化,得到数据结构可编程的数据。进一步的,如前述的基于PHP的TCP服务的服务器,所述数据处理单元包括:函数调取模块,用于通过PHP的反射机制或call_user_func或call_user_func_array调取与所述通信协议对应的函数;执行模块,用于根据所述函数对所述数据进行处理得到对应的执行结果。进一步的,如前述的基于PHP的TCP服务的服务器,还包括:序列化及加密单元,用于使用所述通信协议对所述执行结果进行序列化和加密得到加密后结果;数据发送单元,用于将所述加密后结果通过所述服务端口进行发送。在本申请实施例中,采用一种基于PHP的TCP服务方法及服务器的方式,其中方法通过包括:通过PHP服务应用程序启动socket服务,对服务端口进行监听;通过所述服务端口接收客户端发送的数据包;其中,每个所述服务端口具有对应的通信协议;根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据;调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果。达到了能够建立起一种基于PHP的TCP服务方法的目的,从而实现了通过本专利技术开发得到的TCP服务能够轻松应对高并发的服务场景,同时确保服务的高可用性;任何语言的客户端,只需要实现相应的通信协议,都可以调用该集群服务;同时,通过本申请实现的集群服务只提供局域网内的网络服务,所以性能和安全性都可以得到保障。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请一种实施例的基于PHP的TCP服务方法的方法流程示意图;以及图2是根据本申请一种实施例的基于PHP的TCP服务的服务器的功能模块结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相本文档来自技高网
...

【技术保护点】
1.一种基于PHP的TCP服务方法,其特征在于,包括:通过PHP服务应用程序启动socket服务,对服务端口进行监听;通过所述服务端口接收客户端发送的数据包;其中,每个所述服务端口具有对应的通信协议;根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据;调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果。

【技术特征摘要】
1.一种基于PHP的TCP服务方法,其特征在于,包括:通过PHP服务应用程序启动socket服务,对服务端口进行监听;通过所述服务端口接收客户端发送的数据包;其中,每个所述服务端口具有对应的通信协议;根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据;调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果。2.根据权利要求1所述的基于PHP的TCP服务方法,其特征在于,所述PHP服务应用程序包括:wokerman以及swooleserver。3.根据权利要求1所述的基于PHP的TCP服务方法,其特征在于,所述根据与所述服务端口对应的通信协议对所述数据包进行处理,得到相应数据结构可编程的数据,包括:根据接收所述数据包的服务端口,确定与所述服务端口对应的通信协议;使用与所述服务端口对应的通信协议对所述数据包进行解析,得到对应的数据包明文;通过所述通信协议定义的序列化方法对所述数据包明文进行反序列化,得到数据结构可编程的数据。4.根据权利要求1所述的基于PHP的TCP服务方法,其特征在于,调取与所述通信协议对应的函数对所述数据进行处理得到对应的执行结果,包括:通过PHP的反射机制或call_user_func或call_user_func_array调取与所述通信协议对应的函数;根据所述函数对所述数据进行处理得到对应的执行结果。5.根据权利要求1所述的基于PHP的TCP服务方法,其特征在于,在得到对应的执行结果之后,还包括:使用所述通信协议对所述执行结果进行序列化和加密得到加密后结果;将所述加密后结果通过所述服务端口进行发送。6.一种基于PHP的TCP服务的服务...

【专利技术属性】
技术研发人员:尹传文吴峰郭伟
申请(专利权)人:上海易点时空网络有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1