兩台WINCE的網路通訊

2021-05-22 17:06:01 字數 1077 閱讀 2710

//自己現在手頭正在除錯兩台wince6.0作業系統的機器,其中要用到其之間通過一根網線的鏈結來進行網路通訊,目前還沒有調通,但

摘要:備註:windows ce 5.0 + udp

日期:2010.5.25

姓名:朱銘雷

獲取mac位址的程式如下,這個在msdn裡和網路上都可以找得到。

hresult hr;  

ipaddr  ipaddr;  

ulong   pulmac[2];  

ulong   ullen;  

ipaddr = inet_addr ("192.168.0.17"); 

memset (pulmac, 0xff, sizeof (pulmac));  

ullen = 6;  

hr = sendarp (ipaddr, 0, pulmac, &ullen);  

printf ("return %08x, length %8d/n", hr, ullen);  

size_t i, j;  

char * szmac = new char[ullen*3];  

pbyte pbhexmac = (pbyte) pulmac;  

// convert the binary mac address into human-readable  

for (i = 0, j = 0; i < ullen - 1; ++i) {  

j += sprintf (szmac + j, "%02x:", pbhexmac[i]);  

sprintf (szmac + j, "%02x", pbhexmac[i]);  

printf ("mac address %s/n", szmac);  

delete szmac;  

然後試著修改mac位址,看了一下裝置,目前這台裝置在登錄檔中可以設定mac位址,猜測開機啟動的時候,驅動應該會去讀取登錄檔中的mac位址。將其中一台wince裝置的mac位址修改為00:0a:eb:fd:7a:11。重新啟動了系統,再次測試,先前udp通訊不正常的兩台裝置已經能夠正常通訊了,收發都沒有問題。

網路中兩台主機通訊

主機a和主機b通訊報文的 過程 1 主機a和主機b在同乙個二層網路中,直接走二層交換 主機a檢視自己的arp快取,檢查是否有主機b的ip到mac的對映,如果有對映,構造報文,目的ip為主機b的ip,源ip為主機a的ip,目的mac為主機b的mac,源mac為主機a的mac,將報文傳送給交換機c,交換...

兩台計算機通訊過程

鏈路層有乙太網 令牌環網等標準,鏈路層負責網絡卡裝置的驅動 幀同步 即從網線上檢測到什麼訊號算作新幀的開始 衝突檢測 如果檢測到衝突就自動重發 資料差錯校驗等工作。交換機是工作在鏈路層的網路裝置,可以在不同的鏈路層網路之間 資料幀 比如十兆乙太網和百兆乙太網之間 乙太網和令牌環網之間 由於不同鏈路層...

兩台PC進行ROS通訊傳輸命令

1 配置主機 執行roscore的pc 1 修改ip位址等 hostname 可以檢視主機名 sudo gedit etc hosts在檔案中新增pc位址,如 位址 ros1 pc1 hostname 2 修改.bashrc gedit bashrc在最下面加入 export ros hostnam...