250 likes | 485 Views
VB.NET Network Programming. 林文宗助理教授 明新科技大學資管系. Agenda. Microsoft .NET Framework 與 VB.NET 網路程式撰寫基本概論 伺服器及用戶端程式架構 上機實作 討論. .NET Framework. .NET framework 設計目的在於能夠輕易與網際網路相關標準完整結合 , 使資料得以在異質性系統間輕易交換 . Microsoft .NET 包含下列技術 : Microsoft .NET framework Microsoft .NET Studio .NET 開發環境
E N D
VB.NET Network Programming 林文宗助理教授 明新科技大學資管系
Agenda • Microsoft .NET Framework 與 VB.NET • 網路程式撰寫基本概論 • 伺服器及用戶端程式架構 • 上機實作 • 討論
.NET Framework • .NET framework設計目的在於能夠輕易與網際網路相關標準完整結合, 使資料得以在異質性系統間輕易交換. • Microsoft .NET包含下列技術: • Microsoft .NET framework • Microsoft .NET Studio .NET 開發環境 • Microsoft .NET Enterprise Servers • Building Block Services
Microsoft .NET技術 Visual Studio .NET .NET framework .NET enterprise servers .Building Block Services
.NET framework • Microsoft .NET framework是一個程式語言中立(language Neutrality)的執行環境, 包括下列技術: • Common Language Runtime(CLR) • Microsoft .NET framework Class Library • ADO.NET • ASP.NET
.NET framework Web Services ASP.NET Windows UI ADO.NET Microsoft .NET framework Class Library Common Language Runtime(CLR) .NET Framework
Common Language Runtime(CLR) • CLR提供一個跨語言的程式中立執行環境, 使得物件可以在跨語言和應用程式之間的互動更加容易. 而不同程式語言所撰寫的物件都可以彼此繼承使用, 例如使用C#定義類別, 而由VB.NET繼承使用.
CLR特色 • 物件導向設計 • 強大的型別安全機制, 提供安全的執行環境 • 自動記憶體管理 • 支援多重語言, 特別是跨程式語言繼承 • 易於使用其它語言開發元件的能力 • 簡化應用程式部署
CLR包含元件 • Class loader: 用以管理類別載入 • Code manager: 管理程式碼之執行 • COM: 提供COM的編組 • Debug Engine: 提供應用程式除錯環境 • Exception Manager: 提供結構化的例外處理機制 • Garbage Collector: 提供物件記憶體自動回收的管理機制 • Microsoft Intermediate Language(MSIL): 將MSIL轉換為 Just In Time(JIT)機器碼 • Security Engine: 提供應用程式安全性驗證環境 • Thread: 提供多工執行緒應用程式的類別及界面 • Type Checker: 驗證型態安全性
.NET framework Class Library • Microsoft .NET framework Class Library為Microsoft .NET framework 另一個重要特色, Class Library 是可再使用(reusable)類別及型態的集合, 並與Common Language Runtime緊密結合.
.NET framework Class Library • Microsoft .NET framework Class Library是完全以物件導向方式所設計. 所提供的功能包括: • 物件管理 • 繪圖 • 網路 • 資料存取 • 安全性 • 加密 • XML • Web Services
VB.NET • 經過重新設計的VB.NET增加了Windows Form, Web Form 和 Mobile Web Form等新功能, 以供開發人員快速開發各種視窗使用者介面, Web 及行動裝置的應用程式.
WinSock API Application Windows Socket API winsock.dll wsock32.dll w2_32.dll TCP UDp Network
WinSock API • 可分下列四大類: • BSD Socket API • WinSock延伸函數 • 轉換函數 • 資料庫函數
MS .NET framework Class Library • 在Microsoft .NET環境中, 支援TCP/IP網路應用程式之開發, 除了MS WinSock Control 6.0控制元件與MS WinSock API之外, 另外就是 MS .NET framework 所提供的Class Library之System.Net及System.Net.Sockets.
伺服器端應用程式流程 • 常見的應用: • FTP server • Mail Server • Web Server • MS .NET Framework提供支援伺服器端網路應用開發之Class Library有: • System.NET.Sockets.Socket • System.NET.Sockets.TcpListener
伺服器端應應用程式流程System.Net.Sockets.Socket Socket Bind Listen Connection Request Accept Client Receive Send Close
伺服器端應應用程式流程System.Net.Sockets.TcpListener伺服器端應應用程式流程System.Net.Sockets.TcpListener TcpListener Start Connection Request AcceptTcpClient Client Read Write Stop
用戶端應用程式流程 • 常見的用戶端應用: • Chat client • FTP client • POP3 client • SMTP client • Telnet client • MS .NET Framework提供支援用戶端網路應用開發之Class Library有: • System.NET.Sockets.Socket • System.NET.Sockets.TcpClient
用戶端應應用程式流程System.Net.Sockets.Socket Socket Connect Server Connection Request Send Receive Close
伺服器端應應用程式流程System.Net.Sockets.TcpClient伺服器端應應用程式流程System.Net.Sockets.TcpClient TcpClient Connect Server Connection Request Write Read Close
上機實作 • SMTP • POP3 • System.Web.Mail • FTP • HTTP • 其它