2-1 .NET FRAMEWORK在網路程式設計上的支援

Slides:



Advertisements
Similar presentations
项目四:Internet基础与接入方法 第八章 应用服务器安装配置
Advertisements

LED CUBE 預期規劃.
第 8 章 IP 基礎與定址.
项目一 创建“夕照台”房产网站 ——网页制作基础
项目6.1:计算机网络基础 项目描述 能力目标 应用网络可以工作、学习,网络影响着我们的生活,了解网络知识、培养信息技术的水平和能力是工作和生活的需要。 通过对概念的理解,培养信息分析、辨别能力, 学会使用信息技术工作、学习。
校園網路管理實電務 電子計算機中心 謝進利.
無線寬頻分享器設定範例 銜接硬體線路 推斷無線基地台的IP 設定無線基地台 相關觀念解釋.
第7章 计算机网络基础.
VISUAL BASIC 2008 網路程式設計 文魁資訊股份有限公司.
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
Windows 2003 Server FTP站台的架設
通訊 授課:方順展.
通訊協定 OSI分層模式 與 TCP/IP協定
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
(C) Active Network CO., Ltd
TCP協定 (傳輸層).
第 6 章 通訊協定 UDP.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
Socket () and TCP client-server
第二章 Linux基本指令與工具操作 LINUX 按圖施工手冊.
第14章 建立網路應用程式 14-1 瀏覽器的建立 14-2 檔案下載器 14-3 寄送電子郵件 14-4 檢查POP 3的電子郵件.
Wireless and Mobile Multimedia Networks
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
簡易網路檢修方法 •網路卡狀態檢查 •網路基本指令.
Working with Databases (II) 靜宜大學資管系 楊子青
C#程序设计 c# programming 网络编程 C#程序设计课程组.
HiNet 光世代非固定制 用戶端IPv6設定方式說明
家用網路所遇到的問題 與解決方案 演講者:徐子浩 指導老師:梁明章 老師.
 網路的世界  林達德 國立臺灣大學生物產業機電工程學系.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
簡易網路檢修方法 •網路卡狀態檢查 •網路基本指令.
網路程式設計 - C# 版 日期 : 2018/12/10.
Echo Server/Client Speaker:Fang.
無線路由器(AP)管理.
檔案傳輸協定(FTP) 9.1 什麼是檔案傳輸協定 9.2 常用的FTP指令 9.3 Windows內建的FTP 9.4 瀏覽器的FTP功能
FTP檔案上傳下載 實務與運用.
網際網路與電腦應用 林偉川 2001/11/08.
網頁切換移轉 JS vs. ASP.NET.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
新网产品培训 MYDNS功能和使用.
Firewall-pfsense Mars Su
網路工具運用 講師:鍾詩蘋.
講師:陳永芳 網際網路資源運用 講師:陳永芳
Chapter2 Internet發展史 網路應用入門(一) Chapter2 Internet發展史
WinPXE 無硬碟系統 6.0 安裝說明 憶傑科技股份有限公司
第三章 資料的傳收與接送 3-1 TCP程式設計 3-2 UDP程式設計 3-3 Socket程式設計 3-4資料的非同步傳送與接收.
講師:陳永芳 網際網路與電子郵件應用 講師:陳永芳
Google協作平台+檔案分享(FileZilla+網路芳鄰)
SOCKET( ).
探測工具:NetCat.
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
2019/5/3 JAVA Socket(UDP).
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
ZigBee PRO教學系統 CC2530 實驗.
2019/5/20 JAVA Socket(UDP).
Cloud Operating System - Unit 03: 雲端平台建構實驗
第四章 通訊與網路管理 授課老師:褚麗絹.
班級:博碩子一甲 授課老師:鐘國家 助教:陳國政
網路安全管理個人報告 封包偽裝攻擊 A 魏兆言 2007/11/30.
ARP攻擊 A 吳峻誠.
助教:廖啟盛 JAVA Socket(UDP) 助教:廖啟盛
Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系
電子郵件簡報.
指導教授 :逄愛君 資訊三 B 莊惟舜 資訊三 B 張憶婷 資訊三 B 徐嘉偉
網路安全技術期末報告 ICMP協定 學生 : A 黃昱儒.
電腦網絡與教學.
TCP/IP基礎協定之認識 資訊處位 主講人 黃連發.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
Presentation transcript:

2-1 .NET FRAMEWORK在網路程式設計上的支援 第二章 基本網路程式設計 2-1 .NET FRAMEWORK在網路程式設計上的支援

.NET Framework命名空間 System.Net System.Net.Configuration System.Net.Mail System.Net.Mime System.Net.NetworkInformation System.Net.PeerToPeer System.Net.Security System.Net.Sockets

System.Net 包含許多的類別,支援許多網路上找得到的通訊協定。 提供簡單的程式設計介面,讓程式設計師可以用來發展網路應用程式。

System.Net.Configuration

System.Net.Mail 用來傳送電子郵件給SMTP(Simple Mail Transfer Protocol)電子郵件伺服器。

System.Net.Mime 儲存用來表示Multipurpose Internet Mail Exchange (MIME)標頭的型別。

System.Net.NetworkInformation 提供網路流量資料、網路位址資訊和本機電腦位址變更告知的存取方式。 實作 Ping 公用程式的類別: 可以使用 Ping 和相關的類別,檢查是否可以透過網路到達某部電腦。

System.Net.Security 提供網路主機與網路主之間安全的網路資料流通訊。

System.Net.Sockets 提供Windows Sockets (Winsock) 介面的Managed 實作,以提供TCP/IP的通訊協定應用程式的開發。

典型的網路服務程式架構

TCP 網路程式架構(.Net) TcpClient TcpListener Start AcceptTcpClient Connect Request Read / Write Read / Write Stop Close

客戶端的網路服務介面:TcpClient 定義在System.Net.Sockets的命名空間。 建立客戶端的網路服務介面,以連線至網路伺服端。

TcpClient類別常用的方法 BeginConnect Close Connect EndConnect 開啟伺服端的非同步連接之要求(不會被Block) Close 關閉TCP網路連線 Connect 使用指定主機位址(或名稱)與通訊阜編號來連線至伺服端 EndConnect 關閉伺服端的非同步連線要求

TcpClient類別常用的方法 GetStream 使用NetworkStream類別來傳送與接收資料

TcpClient類別建立服務介面 Dim MyTcpClient As New TcpClient MyTcpClient.Connect(IP位址或主機名稱, 通訊埠編號)

TcpClient類別接收與傳送資料 '使用NetworkStream類別來接收與傳送資料 Dim ns As NetworkStream = TcpClient.GetStream '將要傳送的資料編碼 Dim data As Byte() = Encoding.ASCII.GetBytes(要傳送資料--in char()) '傳送資料 ns.Write(data, 0, data.Length) offset

伺服端的網路介面:TcpListener 定義在System.Net.Sockets的命名空間。 負責接聽來自客戶端的連接。

TcpListener類別常用的方法 AcceptSocket AcceptTcpClient BeginAcceptSocket 接受客戶端連接的要求 AcceptTcpClient 接受客戶端連線的要求 BeginAcceptSocket 開始非同步方式接受客戶端Socket連線的要求 BeginAcceptClient 開始非同步方式接受客戶端TcpClient連線的要求

TcpListener類別常用的方法 EndAcceptSocket EndAcceptTcpClient Pending 判斷是否有存在的連接

TcpListener類別常用的方法 Start 啟動接聽客戶端連線的要求 Stop 停止接聽客戶端連線的要求

TcpListener類別-建立伺服端 接聽客戶端IP Address與通訊埠 '建立TcpListener類別 Dim MyTcplistener As New TcpListener(IPAddress類別, 通訊埠編號)

TcpListener類別-伺服端接收資料 '取得客戶端的TcpClient所傳送的資料 Dim ns As NetworkStream = TcpClient.GetStream Dim data(接收資料緩衝區大小) As Byte '讀入傳進的資料的長度 Dim BytesRead As Integer = ns.Read(data, 0, _ CInt(接收資料緩衝區大小)) '將Byte型態轉換為String並顯示在TextBox控制項 TextBox1.Text = Encoding.ASCII.GetString(data, 0, BytesRead)

第二章 基本網路程式設計 2-2 分析網路IP位址

NetworkInterface類別 定義在System.Net.NetworkInformation命名空間下的類別 用來取得網路介面的組態與統計資訊。

NetworkInterface類別常用的方法 GetAllNetworkInterfaces 取得本機所有的網路介面 GetIPProperties 取得網路介面的所有組態 GetIPv4Statistics 取得IPv4的統計資料 GetIsNetworkAvailable 取得是否有任何網路連接可以使用

NetworkInterface類別常用的方法 GetPhysicalAddress 取得介面卡的MAC位址 Supports 取得是否支援指定的通訊協定

IPAddress類別 定義在System.Net命名空間。 用來提供網路通訊協定的IP位址。 AddressFamily: IPv4: InterNetwork IPv6: InterNetworkV6

IPAddress類別常用的方法 GetAddressBytes IsLoopback Parse TryParse 將IP位址字串轉換為IPAddress TryParse 判斷字串是否為合法的IP位址

IPAddress類別常用的欄位 Any Broadcast IPv6Any IPv6Loopback 伺服端的網路介面必須接聽所有客戶端的活動 Broadcast 提供IP廣播位址 IPv6Any 伺服端的IPv6網路介面必須接聽所有客戶端的活動 IPv6Loopback 提供lPv6回送位址

IPAddress類別常用的欄位 IPv6None Loopback None 提供IPv6位址,表示不可使用的網路服務介面

IPInterfaceProperties類別 定義於System.Net.NetworkInformation命名空間。 取得網路卡上的網路資訊: Gatewary DNS

IPGlobalProperties類別 取得網路客戶端與伺服端連接之後,網路介面所在的電腦主機與伺服端它們之間的相關資訊 主機名稱 網域名稱 TcpConnectionInformation類別的State屬性,可找出目前TCP連線的狀態。

IPEndPoint類別 定義在System.Net的命名空間。 處理IP位址及服務所需要的通訊埠編號資訊。

IPEndPoint類別常用的方法 Create Serialize 從Socket端建立端點 將網路端點的資訊改成SocketAddress類別

IPEndPoint類別常用屬性與欄位 Address AddressFamily Port MaxPort, MinPort 取得或設定通訊阜的編號 MaxPort, MinPort 設定通訊阜編號的最大(小)值

第二章 基本網路程式設計 2-3偵測遠端主機的狀態

Ping類別 定義在System.Net.NetworkInformation命名空間。 偵測伺服器主機的IP是否存在於網路上。 傳送ICMP回應訊息給遠端電腦,並從遠端電腦接收對應的ICMP回應回覆訊息。 ICMP可能被防火牆阻擋。

Ping類別常用的方法 Send SendAsync SendAsyncCancel 傳送ICMP回應訊息給遠端電腦, 並從遠端電腦接收到對應的ICMP回應回覆訊息 SendAsync 以非同步方式將回應訊息給電腦,並從電腦接收到對應的ICMP回應回覆訊息 SendAsyncCancel 取消回應訊息之所有非同步要求,並且接收對應的ICMP回應回覆訊息

PingReply類別常用的屬性 Address Buffer Options RoundTripTime 取得主機位址 取得ICMP回應回復訊息中所收到的資料緩衝區 Options 取得ICMP回應要求的回覆之選項 RoundTripTime 取得ICMP回應回覆訊息的毫秒數

PingReply類別常用的屬性 Status 取得ICMP回應回覆訊息的狀態

PingOptions類別常用的屬性 DontFragment Ttl 控制是否要分割傳送到遠端主機的資料 設定或取得路由節點的數目,預設值為128,假如該直到達零,則會將封包是為無法傳遞而丟棄

第二章 基本網路程式設計 2-4取得主機名稱與位址的關係

追蹤DNS伺服器的回應

Dns類別 DNS服務。 定義在System.Net 命名空間。 GetHostName:取得本機電腦的主機名稱。 IPHostEntry 類別:儲存網路主機名稱解析後的IP位址。

第二章 基本網路程式設計 2-5 URL與URI

網址URL Uniform Resource Locator。 資源定位器。 目的: 存取網路上特定的資源,不管是內部區域網路或廣域的網際網路。

URL與網路通訊協定 根據特定服務資源,針對特定服務,制定專屬的「URL」通訊格式,即「通訊協定」。 URL與通訊協定 說明 ftp://xxx.xxx.com 檔案傳輸協定 http://xxx.xxx.com 超文字傳輸協定(HTML) mailto:benny@myemail.com.tw 郵件傳輸協定 bbs://xxx.xxx.com 電子佈告欄傳輸協定 news.hinet.net 新聞群組

URL的格式 通訊協定://主機位址/虛擬目錄/資源?參數 http://www.codes.com.tw/index.html http:// 218.210.8.100/index.html http://www.codes.com.tw/Product/ItemNo?T61 http://218.210.8.100/Product/ItemNo?T61

URI Uniform Resource Identifier。 一致性資源識別碼。 透過「URI」的通訊協定,可將網路指向任何IP網址,任何連結、任何檔案…等的任何資訊。

URI的格式 通訊協定://主機名稱:通訊埠編號/目錄路徑/檔案名稱(參數) http://www.chippower.com.tw/en/product.html?str710f

URI類別 CheckSchemaName: CheckHostName: 判斷Uri的名稱是否正確。