欧美一级毛片高清视频,久草免费资源在线,亚洲精品国产福利在线观看,一区二区在线视频

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

2018-10-08 3638來源:中億物聯網 分類: 物聯網

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


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


  一、需求

目前,講解物聯僅支持HTTP請求以及特定的燈控接口,相關文檔《超級后臺配置物聯接口》以前在worktitle提交過。部分公司希望物聯能夠支持socket通信,通過socket通信控制設備開關實現物聯,如講解過程中正在講解某個素材的時候可以控制視頻的播放。

  二、實現步驟

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

  2、在講解APP中,通過HTTP協議獲得到配置好的物聯接口,把該物聯接口解析成我們可用的字符串 

  3、通過socket發送命令到服務端,完成通信。

  三、接口格式定義及使用

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

  socket:物聯接口標識,表示該物聯接口是socket協議的 

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

  端口號:物聯接口中socket所需的端口號 

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

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

  2、使用:在講解素材中的物聯接口處直接填入以上格式的物聯接口即可

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

  Socket通信是為網絡服務提供的一種機制,通信的兩端都有Socket,網絡通信其實就是Socket間的通信,數據在兩個Socket間通過IO傳輸。

  1、基于UDP協議的socket通信 

  直接操作UDP不可能,應該將UDP封裝成對象DatagramSocket,封裝了UDP傳輸協議的socket對象。因為數據包中包含的信息較多,為了操作這些信息方便,也一樣會將其封裝成對象DatagramPacket,通過這個對象中的方法,就可以獲取到數據包中的各種信息。 

  DatagramSocket具備發送和接受功能,在進行udp傳輸時,需要明確一個是發送端,一個是接收端。

  下邊的代碼是發送端實例:


  public void sendDataByUDP() throws IOException {


    //1.定義服務器的地址、端口號、數據

 

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


    //InetAddress address_test=InetAddress.getLocalHost();


    int port = 8234;


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


    //2.創建數據報,包含發送的數據信息


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


    //3.創建DatagramSocket對象


    DatagramSocket socket = new DatagramSocket();

 

   //4.向服務器端發送數據報


    socket.send(packet);


    //5.關閉socket


    socket.close();


}


  2、基于TCP協議的socket通信

  兩個端點的建立連接后會有一個傳輸數據的通道,這通道稱為流,而且是建立在網絡基礎上的流,稱之為socket流。該流中既有讀取,也有寫入。

  tcp的兩個端點: 

  客戶端:對應的對象,Socket 

  服務端:對應的對象,ServerSocket

  public void sendData() throws Exception {

  //1、建立tcp的socket服務,最好明確具體的地址和端口。這個對象在創建時,就已經可以對指定ip和端口進行連接(三次握手)。

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

  //2、如果連接成功,就意味著通道建立了,socket流就已經產生了。只要獲取到socket流中的讀取流和寫入流即可,只要通過getInputStream和getOutputStream就可以獲取兩個流對象。

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

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

  //3、關閉資源。

  socket.close();


}

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

  還有這些物聯卡相關資訊您肯定想知道:關于物聯卡如何續費?企業辦理物聯卡需要注意哪些事項!物聯網卡的應用場景有哪些?請關注“物聯無疆”公眾號,回復關鍵詞“物聯卡”即可查看!