概括VB.NET實現PCC和桌面電腦的通信
VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET實現PPC和桌面電腦間的通信,包括介紹.NET框架等方面。本文介紹如何利用VB.NET 通過Windows Sockets (Winsock)以及多線程編程進行桌面電腦與Pocket PC(掌上電腦,簡稱:PPC)間的雙向通信,并且通過當今流行的.NET平臺編程語言Visaul Basic.NET 2003編寫PC端和PPC端程序實現兩者的信息交換。
一、概述
如今移動計算設備越來越普及,而PPC和桌面電腦的數據交換更是其必不可少的功能。筆者根據實際的無線PPC開發認為,PPC程序與桌面程序進行通信,除了可以通過SQL Server CE提供的RDA(遠程數據存取)和Replication(復制)來完成與桌面SQL Server的數據存取外,另外一種比較方便快捷的方法則是通過Socket與桌面電腦完成信息的交換。
采用Visaul Basic.NET 2003進行PPC和桌面電腦的程序編寫,VB.NET已經完全不同于過去的VB,它的諸多新特性以及依托.NET平臺強大的面向對象體系使VB.NET煥然一新,不僅編寫桌面程序更加輕松快捷而且更可快速的、可視化的開發以Pocket PC為平臺的智能設備程序。
.NET框架是一種新的計算平臺,可以簡單理解為組件庫或者類庫,類似于MFC和VCL,但是卻比它們更加強大和易用。.NET框架具有兩個主要組件:公共語言運行庫和 .NET框架類庫。公共語言運行庫是 .NET框架的基礎,可以將運行庫看作一個在執行時管理代碼的代理,它提供核心服務(如內存管理、線程管理和遠程處理等)。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。.NET框架類庫是一個與公共語言運行庫緊密集成的可重用的類型集合,該類庫是面向對象的,.NET框架類庫能夠完成一系列常見編程任務,包括諸如字符串管理、數據收集、數據庫連接以及文件訪問等任務。
.NET框架精簡版是完整.NET框架的子集。它是對完整的 .NET框架進行精簡后得到的版本,雖然其規模大大減小,但多數功能仍然保持完整。使用.NET框架精簡版可以針對Pocket PC和其他Windows CE .NET設備進行開發和部署,提高開發人員的工作效率 VB.NET編譯的桌面程序在目標機器上需要.NET框架的支持才能運行,而編譯過的PPC程序需要在目標PPC上裝載.NET框架精簡版后方可運行。
二、設計思路
在.NET框架中System.NET.Sockets命名空間為需要嚴密控制網絡訪問的開發提供了 Windows Sockets (Winsock) 接口的托管實現,該命名空間中包含了與Socket相關的類、接口和枚舉,主要包括實現 Berkeley 套接字接口的Socket類、用于 TCP 網絡客戶端偵聽連接的TcpListener類、為 TCP 網絡服務提供客戶端連接的TcpClient類以及提供無連接的發送和接收用戶數據文報 (UDP) 的網絡服務等。該命名空間下的大部分類都受.NET框架精簡版的支持,也就是說實現這些對象的代碼完全可以在裝載有.NET框架精簡版的PPC上運行。
可以把PPC當作局域網中的一個終端來與桌面電腦連接,它們之間有多種物理連接方式,通常可以使用USB線纜配合ActiveSync直接與桌面電腦連接,當然,若PPC和桌面電腦同時具備其它的連接方式,比如無線WiFi(無線802.1x)、藍牙等都可以組成相應的無線局域網絡。
在PPC上編寫客戶端程序并實現TcpClient類,用于連接、發送和接收流數據。在桌面電腦上我們設計Socket服務端程序并實現 TcpListener類和Socket類,用于偵聽和接受傳入連接的請求。Socket類為網絡通信提供了一套非常豐富的方法和屬性,服務程序可以使用 TcpListener.Listen 方法偵聽連接。Accept 方法處理任何傳入的連接請求,并返回可用于與遠程主機進行數據通信的Socket,如果當前使用的是無連接協議(如 UDP),則根本不需要偵聽連接。實際上TcpClient類和TcpListener類為 Socket通信提供了比Socket類更簡單、對用戶更友好的接口,如果編寫較簡單的應用程序,而且只需同步數據傳輸,則可以考慮使用 TcpClient、TcpListener 和 UdpClient。
【編輯推薦】