c socket程式設計之美

2021-09-25 22:13:12 字數 1836 閱讀 5366

一、ip位址操作類

1、ipaddress類

a、在該類中有乙個parse方法,可以把點分的十進位制ip表示轉化成ipaddress類,

方法如下:

ipaddress address = ipaddress.parse("192.168.0.1");

b、ipaddress提供4個唯讀字段

any 用於代表本地系統可用的任何ip位址

broadcase 用於代表本地網路的ip廣播位址

loopback 用於代表系統的回送位址

none 用於代表系統上沒有網路介面

其中ipaddress.any最常用可以用來表示本機上所有的ip位址,這對於socket服務進行偵聽時,最方便使用,不用對每個ip進行偵聽。而ipaddress.broadcase可用來udp的ip廣播。

2、ipendpoint類

我們可以通過兩種構造方法來建立ipendpoint類。

a、ipendpoint(long address,int port)

b、ipendpoint(ipadress adress,int port)

四個屬性:

address、addressfamily、port、maxport、minport。

ipendpoint其實計算乙個ip位址和埠的繫結,可以代表乙個服務,用來socket通訊。

二、dns相關類

dns類有四個靜態方法,來獲取主機dns相關資訊。

1、gethostname()

通過dns.gethostname()可以獲得本地計算機的主機名。

2、gethostbyname()

根據主機名稱,返回乙個iphostentry物件:

iphostentry gethostbyname(string hostname)

addresslist:乙個ipaddress物件的陣列

aliases:乙個字串物件陣列

hostname:乙個用於主機名的字串物件

3、gethostbyaddress()

類似於gethostbyname(),只不過這裡的引數是ip位址,而不是主機名,也返回乙個iphostentry物件。

iphostentry gethostbyaddress(ipadress address)

iphostentry gethostbyaddress(string address)

4、resolve()

當我們不知道輸入的遠端主機的位址是那種格式時(主機名或ip位址),用以上的兩種方法來實現,我們可能還要通過判斷客戶輸入的格式才能正確使用,但dns類提供乙個更簡單的方法resolve(),該方法可以接受或者是主機名格式或者是ip位址格式的任何一種位址,並返回iphostentry物件。

面向連線的tcpsocket程式設計

一、服務端socket偵聽:

1、建立ipendpoint例項,用於socket偵聽時繫結

ipendpoint ipep=new ipendpoint(ipaddress.any,6001);

2、建立套接字例項

socket serversocket=new socket(addressfamily.internetwork,sockettype.stream,protocoltype.tcp);

3、將建立的套接字與ipendpoint繫結

serversocket.bind(ipep);

4、設定套接字為監聽模式

serversocket.listen(10);

以上四步,我們已經建立了socket的偵聽模式,下面我們就來設定怎樣來獲取客戶socket連線的例項

,以及連線後的資訊傳送。

5、在套接字上接收接入的連線

c socket程式設計之ftp

class ftp class region 連線 連線 private void connect string path 連線ftp endregion region ftp登入資訊 ftp登入資訊 ftpserverip ftpuserid ftppassword public void ftp...

C Socket程式設計之小試牛刀

名義上學了c 已經1年多了,從底層api玩起到高層mfc的使用,基於cocos2d x遊戲引擎也算是開發過幾款端遊和一些手遊了。不過那段時間做的都是單機遊戲,對於c 網路這塊幾乎沒有接觸過,今天突然有此想法,就利用一點時間玩了下socket程式設計,做了個建議的單向聊天demo。先來個效果圖,介面確...

推薦《程式設計之美》

推薦 程式設計之美 我很早知道鄒欣計畫要寫這樣一本書,也能夠預計到這本書定會廣受歡迎,因為它符合當前大量求職人員的需求,畢竟於他們而言,誰不想知道微軟亞洲研究院在招人時候問些什麼問題呢。另一方面,把考察軟體技術人員專業知識和相應技能的各種手段加以歸納和整理,這本身也是對業界的貢獻,所以,我相信,一旦...