国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C#網(wǎng)絡(luò)編程——Socket

.NET提供了兩個(gè)用于網(wǎng)絡(luò)編程的名空間: System.Net和System.Net.Socket.這些類和方法可以幫助我們進(jìn)行網(wǎng)絡(luò)編程,通過網(wǎng)絡(luò)進(jìn)行通信.通信可以是面向連接的,也可以是面向無連接的;既可以采用數(shù)據(jù)流模式,也可以采用數(shù)據(jù)報(bào)的模式.廣泛使用的TCP協(xié)議用基于數(shù)據(jù)流的通信,而UDP協(xié)議用于基于數(shù)據(jù)報(bào)的通信.

System.Net.Sokcets.Socket 是System.Net.Sockets名空間下面一個(gè)非常重要的類. 每一個(gè)套接字的實(shí)例都有一個(gè)本地的和一個(gè)遠(yuǎn)程的端點(diǎn)附加在上面.本地的端點(diǎn)包括了當(dāng)前套接字實(shí)例的連接信息.

.NET還提供了其它的一些類用于我們進(jìn)行網(wǎng)絡(luò)編程,像IPEndPoint, IPAddress, SocketException等等. .NET 支持同步和異步兩種在客戶機(jī)和服務(wù)器之間的通信方式..NET提供了不同的方法用于支持這兩種類型的通信.同步的方法工作在阻塞模式,方法在工作完成之前是不返回的.但是異步的方法工作在非阻塞模式,但是立即返回的,可能在操作完成之前.

Dns類

Dns位于System.net名空間下,它用于創(chuàng)建和發(fā)送一個(gè)請求用于從DNS服務(wù)器獲取一個(gè)主機(jī)服務(wù)器的信息.當(dāng)然,在訪問DNS之前,機(jī)器必須首先要連接到網(wǎng)絡(luò)上,當(dāng)在一臺(tái)獨(dú)立的機(jī)器上執(zhí)行DNS查詢時(shí),由于無法連接到DNS服務(wù)器,就會(huì)產(chǎn)生一個(gè) Systm.Net.SocketException異常.這個(gè)類的所有成員方法都是靜態(tài)的.這個(gè)類中最重要的方法是:

public static IPHostEntry GetHostByAddress(string address)

地址應(yīng)該是一個(gè)用點(diǎn)開的正確的IP地址,這個(gè)方法返回一個(gè)IPHostEntry 實(shí)例,它包括了主機(jī)的信息.如果DNS服務(wù)器不可用,這個(gè)方法將產(chǎn)生一個(gè)SocketException異常.

public static string GetHostName()

這個(gè)方法返回本地機(jī)器的DNS服務(wù)器名稱.

public static IPHostEntry Resolve(string hostname)

這個(gè)方法解析一個(gè)DNS主機(jī)名稱或IP地址為一個(gè)IPHostEntry實(shí)例. 主機(jī)名稱應(yīng)該是一個(gè)用點(diǎn)分開的IP地址,如:127.0.0.1www.rohu.com.

IPHostEntry 類
IPHostEntry 類是一個(gè)容器類,它包含INTERNET上主機(jī)的地址信息.這個(gè)類不是線程安全的.下面是這個(gè)類的幾個(gè)重要成員.

AddressList 屬性

該屬性給出一個(gè)IPAddress的數(shù)組,可以獲取或設(shè)置與主機(jī)關(guān)聯(lián)的 IP 地址列表.

Aliases 屬性

該屬性用于獲取或設(shè)置與主機(jī)關(guān)聯(lián)的別名列表。

下面的程序用到了上面提到的兩個(gè)類.

using System;
using System.Net;
using System.Net.Sockets;

class MyClient
{
public static void Main()
{
IPHostEntry IPHost = Dns.Resolve("www.rohu.com");
Console.WriteLine(IPHost.HostName);
string[] aliases = IPHost.Aliases;
Console.WriteLine(alises.Length);

IPAddress[] addr = IPHost.AddressList;
Console.WriteLine(addr.Length);
for(int i=0; i<addr.Length; i++)
{
Console.Writeline(addr[i]);
}
}
}

IPEndPoint 類

這是一個(gè)從抽象類EndPoint繼承而來的一個(gè)類,它將網(wǎng)絡(luò)端點(diǎn)表示為 IP 地址和端口號(hào)。下面展示的是這個(gè)類的使用.

IPEndPoint(long address ,int port)

IPEndPoint(IPAddress addr, int port)

IpHostEntry IPHost = Dns.Resolve("www.rohu.com");

Console.WriteLine(IPHost.HostName);

string[] aliases = IPHost.Aliases;

IPAddress[] addr = IPHost.AddressList;

Console.WriteLine(addr[0]);

EndPoint ep = new IPEndPoint(addr[0], 80);

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#網(wǎng)絡(luò)編程概述(1) [跟我學(xué).net]
C# 中用Socket實(shí)現(xiàn)判斷網(wǎng)絡(luò)是否斷開的實(shí)例
Socket網(wǎng)絡(luò)編程學(xué)習(xí)筆記:常用方法介紹 (轉(zhuǎn))
一個(gè)簡單的C# UDP通訊實(shí)例(服務(wù)器端及客戶端)
UDPClient的用法
C# .net2.0 套接字編程實(shí)例 UDP TCP通信
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服