


单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,物联网与,WEB,服务,肖微,物联网概论回顾,物联网的分层,感知识别层,网络构建层,管理服务层(有争议),综合应用层,信息的传输,依赖,于计算机网络(可以预见的未来),架构在传统都协议之上,TCP/IP,、,HTTP,、,HTTPS,以,WEB,服务为载体的信息交互将占有较大的份额,WEB,服务的优势,适应性强:按照共同约定的,schema,来进行数据交互可以被多种语言、平台支持便于,B2B,协作,有成熟的商业化平台、工具的支持(,WCF,,,Java WebService Developer Pack,),软件巨头的强力推动(,IBM,、微软、谷歌、亚马逊、甲骨文,),发展趋势,基于应用层协议的远程协作将继续存在,Web,服务的机动性加强(以,WCF,为例,其前身为,XML Web Service,、,.NET Remoting,、,DCOM,等系列技术),开发趋于便捷化,TCP/IP,通讯回顾,计算机网络通讯技术的基础,IP,地址,+TCP,端口号,基于,TCP,的连接通讯与基于,UDP,的无连接通讯,以,socket,为编程基础(,Windows,下以,WinSock,为例),各种软件开发环境中提供了各样的高层封装,(,如:,.NET,中的,TcpClient,TcpListener,,,MFC,中的,C,等高层封装),服务器,Socket C/S,交互模型,客户端,s=socket,(),listen(s,),s=socket(),bind(s,),t=accept(s,),read(t,),write(t,),close(t),connect(s,),write(s,),read(s,),close(t),C#,中,TCP/IP,通讯举例(,server,),private void OnStartListen(object sender,EventArgs e),try,InitServer();,catch(Exception excp),MessageBox.Show(string.Format(Exception catched with message:,excp.Message);,private void OnClientAccepted(IAsyncResult ar),TcpListener svr=(TcpListener)ar.AsyncState;,TcpClient client=svr.EndAcceptTcpClient(ar);,NetworkStream stream=client.GetStream();,stream.BeginRead(m_buffer,0,1024,Callback,stream);,svr.BeginAcceptTcpClient(OnClientAccepted,svr);,private void Callback(IAsyncResult ar),try,NetworkStream ns=(NetworkStream)ar.AsyncState;,int dataLen=ns.EndRead(ar);,/do something,ns.BeginRead(m_buffer,0,1024,Callback,ns);,catch,C#,中,TCP/IP,通讯举例(,client,),private void OnConnect(object sender,EventArgs e),if(m_client=null),m_client=new System.Net.Sockets.TcpClient();,IPAddress ip=IPAddress.Parse(m_textIP.Text);,int port=int.Parse(m_textPort.Text);,m_client.Connect(ip,port);,m_buttonConnect.Text=Disconnect;,else,m_client.Close();,m_client=null;,m_buttonConnect.Text=Connect;,private void OnSendMessage(object sender,EventArgs e),string txt=m_textSend.Text;,byte buf=System.Text.Encoding.ASCII.GetBytes(txt);,NetworkStream stream=m_client.GetStream();,stream.Write(buf,0,buf.Length);,stream.Flush();,应用层协议,多数应用层协议建立在,TCP,/IP,协议上或建立在,HTTP,/,HTTPS,上,协议一般包含协议头、,body,、协议尾。
头可以定义,telegram,的长度,也可以用特征结尾来定义,telegram,的结束基于状态的协议和无状态协议,。