Qt網路程式設計 主機資訊

2021-07-12 01:36:04 字數 1095 閱讀 8598

為了編寫乙個類似qq的聊天程式,學習了一下網路程式設計。在qt的幫助手冊中可以看到qt networkprogramming 模組,裡面有介紹和一些例程。我從這些例程中慢慢摸索,慢慢學習了一些網路程式設計的知識,總結一下吧。

qt network 中有很多模組,介紹一下:

這是乙個網路介面類,可以獲得網路介面的資訊(實體地址,ip位址,介面名字等),它有個flag屬性,用於標識這些位址的型別、功能,比如組播,廣播,活動的,點對點,回環,等等。

這些屬性可以或,很多qt的屬性都可以或。

上面的介面類可以獲得 這個類的物件,這個類包含了ip,廣播位址,子網掩碼

。一定要由上面的介面類呼叫函式獲得的這個類的物件才有用,以前我就以為天真的以為直接可以獲得,實際上這個類就是資料封裝。

這是乙個主機位址類,介紹乙個函式:qpairqhostaddress::parsesubnet(const qstring & subnet)

這個函式可以由     ip位址+子網掩碼 計算出網路號和所佔的位數,結果封裝成qpair.

這裡說一下網路號和子網掩碼:網際網路的ip位址都是唯一的,但是這麼多電腦,怎麼夠用。。所以一般在公共網路裡的電腦,像學校啊,單位什麼的,都是有區域網的。所以你用的位址叫做本地連線。。乙個大型的區域網裡面 還會有 區域網,每個網路都會有乙個網路號,網路中的每台主機都會有乙個主機號,ip位址是由網路號+主機號計算出來的。子網掩碼+ip位址可以計算出網路號和主機號。所以廣播位址也會變。。而且在兩個不同網路中的主機一般是無法直接通訊的。。

看名字就知道了,這是乙個主機資訊類,可以獲得網路中的主機資訊

下面貼一段**,這個可以獲得 本地連線的 ip位址(實際上電腦中可能會有很多位址的)

address = qhostaddress::localhost;

foreach(qnetworkinte***ce inte***ce,qnetworkinte***ce::allinte***ces())

}if(hasgetadress) break;

}

Qt網路程式設計之獲取主機資訊

qhostinfo類用於獲取主機的一些網路資訊。qhostinfo類有下面這些公有函式 static qstring qhostinfo localhostname static qhostinfo qhostinfo fromname const qstring name static qstri...

Qt網路程式設計學習 獲取本機網路資訊)

補充 qgridlayout中的 addwidget引數的意義 依次代表 行 列 占用行數 占用列數 主要標頭檔案 qnetworkinte ce qhostinfo 主要函式 qstring localhostname qhostinfo localhostname 獲得本機主機名qhostinf...

Qt網路程式設計

qt提供了socket的支援,它採用api形式的封裝,使得程式設計師不需要接觸底層的 就可以對socket進行操作。1.udp的實現 udp不是連線協議,沒有客戶端與服務端的概念。1 建立套接字相關物件 1 qsocketdevice mureceivesocket 套接字物件 23 qsocket...