您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>电脑硬件>服务器>

开发云服务器的简单过程介绍

2018年02月19日 09:20 作者: 用户评论(0

云服务器服务是云计算服务的重要服务之一,目前常见的用途非常广泛,主要有把云服务器当虚拟主机使用;对网络品质有要求的电子商务等平台;数据共享平台;软件应用平台等。

一、云服务器接收采集数据

建立好云服务器之后,接下来即是如何把采集的数据传输给云服务器。这包含两项工作。

第一项是在云服务器上建立一个接收处理程序,这个接收处理程序有多种形式,只要能够提供接收数据的连接即可。通常我们可以使用以下方式:

l TCP服务:创建socket -》 绑定端口 -》 listen监听 -》 accept tcp 连接 -》 处理数据 -》 关闭连接。

l UDP服务:创建socket -》 绑定端口-》 接收数据 -》 处理数据

l HTTP服务:创建IIS或apache站点,指定站点端口,在站点中建立数据接收处理代码文件,形成“http://云服务器ip:端口/处理程序”的URL,接收get或post数据。

第二项工作是将采集的数据连接到云服务器提供的接收处理程序,完成数据的上传。数据的上传途径也可使用多种方式:

l 使用GPRS,采集结点增加GPRS处理模块,将采集的数据通过GPRS传输给云服务器,数据传输的协议视云服务器接收处理程序定,TCP、UDP或是HTTP。

l 将采集数据通过串口传输至PC机,再由PC建立数据传输程序,通过TCP、UDP或是HTTP传输给云服务器

l 采集数据通过网口或串口转网口等设备,使用TCP、UDP或是HTTP连接至云服务器进行传输。

二、 云服务器上存储采集数据

当云服务器的接收处理程序接收到数据后,可以根据需要进行存储,存储的方式根据需要可以有多种形式:

l 以文本形式存储,即如写入记事本,数据的方式可以是一行一行的简单文本,也可以是xml形式,均可,只要便于后续读取即可。

l 以数据库形式存储,可以将数据存储到数据库表中,数据库可以是Access,SQL Server,Oracle,MySql,PortgreSQL等,均可。

由于采集的数据与具体业务相关,对数据本身如果有协议约定,可以按协议约定进行解析。如接收到“10,25”,可能约定是“设备标识,温度”,则可以在数据库中存储为一个拥有这两个字段的表,每个字段存储相应的值。

三、 终端上显示采集数据

数据一旦存储在文本文件或数据库中,即随时可以读取最新的采集数据和历史数据,并以丰富的形式展现出来。

通过,我们会采用web的方式展现,即创建IIS或apache站点,在站点中建立用于显示的页面,读取数据库中的内容形成html返回给浏览器,访问方式为浏览器打开“http://云服务器ip/显示页”的URL。以上述接收到的数据为例,即接收到“10,25”,原样存储在文本文件 data.txt ,刚可以制作如下显示页。

《!doctypehtml》

《html》

《head》《title》动态数据《/title》《/head》

《body》

设备号:《% =File.ReadText().Split(‘,’)[0] %》《br /》

温度值:《% =File.ReadText().Split(‘,’)[1] + “度” %》

《body》

《/html》

显示页制作之后,我们即可访问多种终端访问“http://云服务器ip/显示页”,可以是PC浏览器,手机浏览器,也可是微信公众号内部访问。

四、 锐米云服务器开发实例

使用锐米通信的网关产品,它集成了向云服务器传输的客户端功能,只要配置使用TCP、UDP或http地址即可在接收到数据时自动按指定的方式上传数据。下边是用于演示的云服务器端示例代码,使用的是HTTP方式,HTTP方式有其优点,可以把接收和显示功能做在一个站点里,使用不同的处理页即可。

开发云服务器的简单过程介绍

【数据接收】

publicpartial class test_R : System.Web.UI.Page

{

protected void Page_Load(object sender,EventArgs e)

{

string data =Request[“data”]; // 取得接收的数据

// 存储在全局变量中,同为显示页为同一站点,

// 因此显示页可访问到此变量。存储至文件也是可以的

Application[“data”] = data;

}

}

【数据显示】

显示页解析接收保存在全局变量(或文件)中的数据

private string GetContent() {

string s =Application[“data”] as string;

if (!String.IsNullOrEmpty(s)) {

string[] items = s.Split(‘,’);

string date =Regex.Replace(items[0],@“(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})”, “$1-$2-$3$4:$5:$6”);

s = String.Format(“原始数据:{3} 《br》 解析结果 - 数据日期: {0} 用户标识:{1} 数据内容: {2}”, date, items[1],items[2].Replace(‘:’, ‘ ’), s);

}

return s;

}

示例运行环境,windows系统 IIS7 .net 4.0,

非常好我支持^.^

(2) 100%

不好我反对

(0) 0%

( 发表人:黄飞燕 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!