Part-1 - 嵌入式網路系統實驗室

Download Report

Transcript Part-1 - 嵌入式網路系統實驗室

感測網路實做
Windows winsock 實驗 (using UDP)
1
UDP winsock 實驗
實驗介紹
• 本實驗使用MCU板與KIT板作為實驗平台
• 使用一台PC做為另一實驗平台,並用網路線連接實驗板
• 採用UDP傳輸資料
• 本實驗教材分成3個部分
• Part-1 : 介紹winsock
• Part-2 : 介紹winsock編程方式(Client/Receive)
• Part-3 : 介紹KIT實驗板上的網路模組編程方式(Client/Receive)
2
UDP winsock 實驗
實驗介紹
• Part-2的部分介紹電腦層面(PC←→PC)的Ethernet coding
• Part-3的部分介紹實驗版層面(版子←→版子)的Ethernet coding
• 以上實習均學習後,僅需設定IP,即可達到PC與KIT實驗版溝通
3
192.168.0.1
192.168.0.3
192.168.0.2
UDP winsock 實驗
實驗目標
• 本PPT為此實習的part-1,旨在介紹winsock的基本概念
• 估計讓學生學習到以下概念:
• Window socket 的基本知識
• 瞭解 UDP 協定的基本概念
4
Winsock 編程介紹
5
歷史
Windows socket是以U.C.Berkeley大學BSD UNIX中流行的
sockets介面為範例,定義一套在Microsoft windows 環境下
的網路編程介面。
包含了Berkeley sockets的風格的function library,同時
也加入了一些對windows系統的擴展library
6
Include & link
本實習採用winsock1.1的版本來實做
要使用winsock的相關函數,需要include以下這個檔案 :
• #include <winsock.h>
同時也要link這個library,才不會連compiler都不過
• wsock32.lib
7
winsock建立基礎程式架構
要建立一個可通訊的socket,有一個通用的步驟:
1. Enable windows sockets
初始化winsock
2. Create sockets
創一個socket,並設定其使用方式:
• 使用TCP/UDP
• 連線IP設定
• port…等
3. Use sockets
根據send/receive/other model等來進行程式設計
8
Client–Server架構
本次實習採用client-server的架構,並使用UDP來傳送。
所以編程的介紹主要會分成3個部分:
• 共通部分 (Enable socket)
• Client部分 (send data)
• Server部分 (receive data)
主要完成目標:
• 實作一個Client負責發送資料
• 實作一個Server負責接收資料
9
阻塞模式與非阻塞模式
Socket的阻塞模式是指在執行時,呼叫的function不管是
否有完成,都會立刻return。
例如 : 沒有資料,而執行receive的function,這時候會回傳沒
有data的flag。
而非阻塞模式,則是指在執行時,呼叫的function會一直
hold住,執到有資料返回,或發生錯誤。
例如:執行receive的fnuction,會一直等到有資料才return
10
推薦閱讀
網站:
檔案:
Winsock programming.pdf
彰化師範大學資訊工程學系張英超 著
書籍:
精通Windows Sockets網路程式設計 使用visual c++
孫海民 著/涂治安 譯,碁峯發行
11