有誰做過modbustcp 為什么我通過 sendToClient發(fā)給客戶端的內容是16進制 客戶端收到以后就變了呢?有做過 modbustcp 工業(yè)物聯(lián)的大神能不能指點一下 有償請教
我詳細說一下目前一個網絡io設備 wif版的 是用modbustcp協(xié)議傳輸 我建立了tcp的監(jiān)聽 可以接收到設備發(fā)上來的 消息 我通過 bin2hex 轉16進制 可以拿到 00 00 00 00 00 04 01 02 01 00 我解析后可以拿到對應數值 相當于通道已經建立 設備的 通道 Clientid 我存下來了 現(xiàn)在上位機需要發(fā)送控制碼給設備 00 01 00 00 00 08 01 0F 00 64 00 02 01 01 我把指令直接通過 sendToClient 發(fā)給客戶端的時候 接收到的是如果原封不動的發(fā)送過應該就行了 但是收到的是 30 30 20 30 31 20 30 30 20 30 30 20 30 30 20 30 38 20 30 31 20 30 46 20 30 30 20 36 34 20 30 30 20 30 32 20 30 31 20 30 31 如果我把命令轉成16進制再發(fā)送接收到的是 01 08 01 0f 64 02 01 01 我沒搞明白我應該怎么解析 或者怎么傳輸 望大神們指點
我們都理解錯了 tcp 是tcp modbus協(xié)議是協(xié)議 你不用管協(xié)議的事情 對應控制碼能發(fā)到指定客戶端就行了 我也是走到誤區(qū)好久
附一個轉換進制方法
for ($i=0; $i < strlen($hex)-1; $i+=2){
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}