背景:最近項目用到一塊工控板,板子硬件與上位機經過udp方式進行通訊,但廠家只提供了c#的demo,並將相應的驅動命令封裝爲dll動態庫。另外一項目小組但願在android平臺下也能驅動這塊工控板,我以前寫過一些底層的驅動,但都收經過串口來傳輸的,經過網絡進行數據通訊的仍是頭一次接觸。簡單地看了下硬件的通訊協議,還好,不算很複雜,每條命令只有20個字節。因而開始瞭解在android下如何實現Udp通訊,現積累以下。android
what?c#
字面意思:UDP的全稱是 User Datagram Protocol,意思是用戶數據包協議。網絡
特色:1.是一種無鏈接的傳輸層協議。socket
2.提供面向事務的無鏈接、不可靠數據傳輸服務。spa
3.不提供數據包分組、組裝、排序。debug
how?server
1.client:對象
2.server:blog
bug:發送數據包時,指定了發送端口,但服務端解析到的端口號卻不是客戶端所指定的。排序
debug:建立socket對象時,將端口號做爲參數傳遞:
效果圖(服務端):