久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

Rainbow網絡通信:UDP實現的Echo服務器

作者:白櫟旸   來源:本站原創   點擊數:  更新時間:2014年04月30日   【字體:

    在《網絡通信:通過UDP發送數據》一文中,我們對在Rainbow總進行UDP通信有了初步認識,今天我們將分析一下UDP接收數據,并實現一個Echo服務器的功能:客戶端通過UDP發送過來的數據,服務器原封不動地回傳過去。

 
   其實,做UDP接收也同樣簡單,在進行網絡初始化,設置了UDP監聽端口后,只需要調用UDP.parsePacket(),如果返回值大于零,表明有數據發送過來,可以進行接收操作,如:使用UDP.read()可以從UDP接收到的數據包中讀取一個字節的數據,UDP.readString()可以讀取接收到的字符串,當然還有更多豐富的讀寫操作方法。實際上UDP是Stream的子類,Stream中所有對流進行操作的函數都可以使用。對c++比較熟悉的人可以參考Stream.cpp、Stream.h中的定義和實現。
 
    在軟件包的“Projects\UDP-Echo”文件夾包含了本文的完整工程,可以直接編譯、燒寫和調試。這個程序主要展示如何實現UDP-Echo服務器,看看main.cpp的代碼:
#include "WProgram.h"
#include "Ethernet.h"
#include "EthernetUDP.h"
 
//網絡模塊的MAC地址
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//網絡模塊的IP地址
IPAddress ip(192, 168, 1, 15);
 
//定義UDP對象
EthernetUDP UDP;
 
void setup()
{
    //初始化Rainbow
    boardInit();
    //初始化默認串口
    Serial.begin();
    Serial.println("UDP-Echo start...");
    //對網絡進行初始化
    Ethernet.begin(mac, ip);
    //UDP監聽端口
    UDP.begin(6000);
}
 
void loop()
{
    //判斷是否接收到UDP數據包
    if(UDP.parsePacket() > 0)
    {
        //打印出對方的ip和端口
        Serial.print("from:");
        Serial.print(UDP.remoteIP());
        Serial.print(":");
        Serial.println(UDP.remotePort());
 
        //向對方將數據發送回去
        UDP.beginPacket();
        int c = UDP.read();
        while(c > 0)
        {
            UDP.write(c);
            c = UDP.read();
        }
        //換行
        UDP.println();
        UDP.endPacket();
    }
}
 
int main()
{
    setup();
    while(1) loop();
}
 
    上面的程序非常簡單,首先通過UDP.parsePacket()的返回值判斷又可以發送給服務器的UDP數據包,如果有數據包,就將對方的ip和端口通過串口輸出,然后通過UDP.read()接收UDP數據,并將所有的數據通過UDP.write()寫入到要發送的UDP數據包中,并發送給對方。
 
    上面的程序編譯無誤后,將程序燒寫到Rainbow中,然后在電腦上運行串口調試工具并和Rainbow連接成功,啟動UDP監聽,可以在串口調試工具中看到輸出的日志,通過UDP向Rainbow發送“Hello,world!”,在調試工具中立刻會接收到我們開始發送的信息:
關閉窗口

相關文章

主站蜘蛛池模板: 国产在线观看免费 | 日韩成人一区二区 | 五月婷综合 | 日韩黄色av| 综合激情网| 日本三级香港三级 | 色天堂影院 | 精品欧美在线 | 91精品国产99久久久久久红楼 | av手机在线免费观看 | 久久久噜噜噜 | 亚洲久久久久久 | 成人午夜精品 | 日韩毛片免费看 | 经典三级第一页 | 免费毛片视频 | 午夜精品久久久久久久久久久久 | 国产精品自拍小视频 | 四虎影院最新地址 | 亚洲成人av| 久久一区精品 | 亚洲欧美综合 | 91精品国产日韩91久久久久久 | 亚洲国产黄色 | 日韩av毛片 | 成人免费看片在线观看 | 黄色影视大全 | 婷婷四房综合激情五月 | 黄色国产视频 | 亚洲第一伊人 | 亚洲一区欧美一区 | 国语对白永久免费 | 天天操天天操天天操 | 免费美女网站 | 日本成人小视频 | 国产欧美一区二区精品忘忧草 | 欧美mv日韩mv国产 | 午夜av网站 | 欧美日韩国产一区 | 一区二区三区久久久 | 91黄色免费视频 |