免费无码精品黄av电影,大地中文在线观看免费高清,7777精品伊久久久大香线蕉,制服丝袜快播,成全视频高清免费观看

中億物聯網卡大講堂:Socket物聯接入使用詳解

2018-10-08 3799來源:中億物聯(lian)網 分類: 物(wu)聯網(wang)

  中億物聯網卡大講堂:本文介紹了socket物聯通信如何進行HTTP協議配置、字符串解析、接口定義與使用,更好的讓物聯網行業開發者了解Socket物聯的原理和代碼實現。


中億物聯網卡大講堂:Socket物聯接入使用詳解


  一、需求

目(mu)前,講(jiang)解物聯(lian)僅支持HTTP請求以(yi)及特(te)定(ding)的(de)燈控接口,相關(guan)文檔《超級后臺配(pei)置(zhi)物聯(lian)接口》以(yi)前在(zai)(zai)worktitle提交過。部分(fen)公司希望物聯(lian)能夠支持socket通(tong)信(xin),通(tong)過socket通(tong)信(xin)控制(zhi)設備(bei)開關(guan)實現(xian)物聯(lian),如講(jiang)解過程中正在(zai)(zai)講(jiang)解某個素材(cai)的(de)時(shi)候可(ke)以(yi)控制(zhi)視頻的(de)播(bo)放。

  二、實現步驟

  1、在超級后(hou)臺講解(jie)的(de)素材中配置物聯接(jie)口(格式下(xia)邊介紹) 

  2、在講(jiang)解(jie)APP中,通過HTTP協議(yi)獲(huo)得到配置(zhi)好(hao)的(de)物聯接口(kou)(kou),把該物聯接口(kou)(kou)解(jie)析成我(wo)們可用的(de)字符串 

  3、通(tong)(tong)過socket發送命令到(dao)服(fu)務端(duan),完成通(tong)(tong)信。

  三、接口格式定義及使用

  1、物聯接口(kou)格式定(ding)義:socket#協(xie)議#ip#端口(kou)號#命令

  socket:物(wu)(wu)聯(lian)接口(kou)標(biao)識,表(biao)示(shi)該物(wu)(wu)聯(lian)接口(kou)是socket協(xie)議的 

  協議(yi):物聯接口中socket協議(yi),分為UDP、TCP 

 ; 端口(kou)號:物聯接(jie)口(kou)中socket所需的(de)端口(kou)號 

  命令:物聯(lian)接口(kou)中socket在客戶端發送給服務端的具體命令

  示例:socket#tcp#192.168.1.180#15000#1B43DD0D0A6C0080

  2、使用:在講(jiang)解素材中的(de)物聯(lian)接(jie)口處直(zhi)接(jie)填入以上格式的(de)物聯(lian)接(jie)口即可

  四、Socket通信原理及代碼實現

  Socket通(tong)信(xin)(xin)是(shi)為網(wang)絡服(fu)務提供的一種機(ji)制,通(tong)信(xin)(xin)的兩端都有Socket,網(wang)絡通(tong)信(xin)(xin)其實就是(shi)Socket間(jian)的通(tong)信(xin)(xin),數據(ju)在兩個Socket間(jian)通(tong)過IO傳輸。

  1、基于(yu)UDP協議(yi)的socket通信 

  直接操(cao)作(zuo)UDP不(bu)可能,應該將(jiang)(jiang)UDP封裝(zhuang)成(cheng)(cheng)對象(xiang)(xiang)DatagramSocket,封裝(zhuang)了UDP傳輸協(xie)議的socket對象(xiang)(xiang)。因為數(shu)(shu)據包(bao)中包(bao)含的信(xin)(xin)息(xi)較多(duo),為了操(cao)作(zuo)這些信(xin)(xin)息(xi)方(fang)(fang)便,也一樣(yang)會將(jiang)(jiang)其(qi)封裝(zhuang)成(cheng)(cheng)對象(xiang)(xiang)DatagramPacket,通過這個對象(xiang)(xiang)中的方(fang)(fang)法,就可以獲(huo)取(qu)到數(shu)(shu)據包(bao)中的各種信(xin)(xin)息(xi)。 

  DatagramSocket具備發(fa)送(song)和接(jie)受功(gong)能,在進行(xing)udp傳輸時,需要明確一個是(shi)發(fa)送(song)端,一個是(shi)接(jie)收端。

  下邊的(de)代碼(ma)是(shi)發送(song)端(duan)實例:


  public void sendDataByUDP() throws IOException {


    //1.定義服務(wu)器的地址、端口(kou)號、數據(ju)

 

   InetAddress address = InetAddress.getByName("192.168.1.253");


    //InetAddress address_test=InetAddress.getLocalHost();


    int port = 8234;


    byte[] data = "北京(jing)云跡UDP測試".getBytes();


 ;   //2.創建(jian)數據報,包(bao)含(han)發送的數據信(xin)息(xi)


    DatagramPacket packet = new DatagramPacket(data, data.length, address, port);


    //3.創建DatagramSocket對象


    DatagramSocket socket = new DatagramSocket();

 

   //4.向服務(wu)器端(duan)發(fa)送數據(ju)報


    socket.send(packet);


    //5.關(guan)閉socket


    socket.close();


}


  2、基于(yu)TCP協議的socket通信(xin)

  兩個端點的建立連接后會有(you)一(yi)個傳輸數據的通(tong)道,這通(tong)道稱為流(liu)(liu),而(er)且(qie)是(shi)建立在網絡基礎(chu)上的流(liu)(liu),稱之為socket流(liu)(liu)。該流(liu)(liu)中既有(you)讀(du)取,也有(you)寫入(ru)。

  tcp的兩個端點: 

  客(ke)戶端(duan):對應的對象,Socket 

  服務端(duan):對(dui)應的對(dui)象,ServerSocket

  public void sendData() throws Exception {

  //1、建(jian)立tcp的socket服務,最好(hao)明確(que)具(ju)體(ti)的地址和(he)端口(kou)。這個(ge)對象在創(chuang)建(jian)時,就已(yi)經可以對指(zhi)定ip和(he)端口(kou)進行連接(三(san)次握(wo)手)。

  Socket socket = new Socket("10.1.31.69", 10002);

  //2、如果連接成功,就(jiu)(jiu)意味(wei)著(zhu)通道建立了(le)(le),socket流(liu)就(jiu)(jiu)已經(jing)產生了(le)(le)。只(zhi)要(yao)獲取到socket流(liu)中的(de)讀取流(liu)和(he)寫入流(liu)即可,只(zhi)要(yao)通過getInputStream和(he)getOutputStream就(jiu)(jiu)可以獲取兩個流(liu)對(dui)象。

  OutputStream outputStream = socket.getOutputStream();//獲(huo)取(qu)了socket流(liu)中的輸出流(liu)對象。

  outputStream.write("tcp協議通信".getBytes());

  //3、關閉資源。

  socket.close();


}

  中億物聯網,作為成熟的物聯網解決方案提供商,提醒對投資物聯卡代理、企業物聯卡購買有興趣的小伙伴在選擇移動物聯卡、電信物聯卡、聯通物聯卡供應商的時候,一定要選擇資質齊全,售前售后服務完善,物聯卡管理平臺穩定的物聯網服務商。

  還有這些物(wu)聯卡(ka)相關(guan)資(zi)訊您(nin)肯定(ding)想知(zhi)道:關(guan)于(yu)物(wu)聯卡(ka)如何續(xu)費?企業辦理物(wu)聯卡(ka)需要注(zhu)意哪些事(shi)項!物(wu)聯網(wang)卡(ka)的應用(yong)場景有哪些?請關(guan)注(zhu)“物(wu)聯無(wu)疆”公眾號,回復(fu)關(guan)鍵詞(ci)“物(wu)聯卡(ka)”即可查看!