Warning: curl_exec() has been disabled for security reasons in /pub/host/sunboyu/sunboyu/www/wp-includes/http.php on line 1022
2009 五月 17 一个程序猿 孙小一,孙小二,PHP,MYSQL,LINUX,APACHE,原创技术,扯淡

设计标准的通讯协议

作者 : admin 于 2009年05月17日, 23:48:25
2009
05-17

当然不会是底层通讯协议,因为TCP/IP已经为我们准备好了足够完善的通讯机制确保稳定安全。

此协议为七层应用协议,跟http ftp是平级的,使用socket进行通讯,可以兼容php、python、java、c等语言。

协议开源,使用点对点信息校验,满足普通应用。

协议模拟tcp封包过程,进行数据封装。

协议内容:(伪代码)

  1. struct vhost
  2. {
  3.     Head varchar(10),            //协议头
  4.     Version int(5),                 //版本
  5.     Timestamp int(5),            //时间戳
  6.     Length int(10),                //包长度
  7.     Signature varchar(10),      //签名
  8.     Date varchar(500)            //数据
  9. }

协议包包括了协议头,版本,时间戳,包长度、签名(防止数据篡改和伪造),数据。基本能满足应用。

控制端数据打包发送后,受控端只需返回接受成功即可,以便客户端及时作出判断。

底下针对此包做PHP版本的封包和python的解包部分。

注释:原来使用问答的方式进行通讯,需要多次数据的应答,而此次的修改只需一次即可完成,而打包封包在一端完成,这样对网络稳定性的依赖就会降低。