qhostinfo類用於獲取主機的一些網路資訊。
qhostinfo類有下面這些公有函式:
[
static
] qstring qhostinfo::
localhostname()
;[static
] qhostinfo qhostinfo::
fromname
(const qstring &name);[
static
] qstring qhostinfo::
localdomainname()
;[static
]int qhostinfo::
lookuphost
(const qstring &name, qobject *receiver,
const
char
*member)
;
localhostname函式獲取本機主機名。
fromname函式根據主機名獲取主機的資訊。
localdomainname函式返回本機dns網域名稱。
lookuphost以非同步方式查詢主機的ip位址,並返回乙個表示本次查詢的id。name引數表示主機名,可以為主機名、網域名稱或ip位址。引數receiver指定槽函式的接收者,member指定槽函式的名稱。非同步方式表示執行lookuphost後,程式可能需要花一定時間用來查詢,但不阻塞程式的繼續執行(類似多執行緒???),查詢完畢後,通過訊號通知設定的槽函式,在槽函式裡讀取查詢的結果。
#include
qstring hostname = qhostinfo::
localhostname()
;//獲取本機主機名
qhostinfo hostinfo = qhostinfo::
fromname
(hostname)
;//獲取本機資訊
qlist addlist=hostinfo.
addresses()
;//獲取ip位址列表if(
!addlist.
isempty()
)for
(int i=
0;icount()
;i++
) qstring ipaddress = ahost.
tostring()
;//返回ip位址的字串
}
//用lookuphost根據主機名、網域名稱或ip位址查詢主機相關資訊
qstring hostname=ui-
>edithost-
>
text()
;//獲取主機名
//查詢主機名為hostname的主機資訊,查詢完畢後執行this物件的槽函式lookeduphostinfo(qhostinfo)
qhostinfo::
lookuphost
(hostname,
this
,slot
(lookeduphostinfo
(qhostinfo)))
;//槽函式部分**
void dialog::
lookeduphostinfo
(const qhostinfo &host)
[
static
] qlist qnetworkinte***ce::
alladdresses()
;[static
] qlist qnetworkinte***ce::
allinte***ces()
;qlist qnetworkinte***ce::
addressentries()
const
;
alladdresses函式返回主機上查詢到的所有ip位址列表。
allinte***ces函式返回主機上查詢到的所有網路介面列表。
addressentries函式返回網路介面(包括子網掩碼和廣播位址,ip位址)列表。
qlist addlist=qnetworkinte***ce::
alladdresses()
;//獲取主機ip位址列表
/***************************/
qlist list=qnetworkinte***ce::
allinte***ces()
;for
(int i =
0;i < list.
count()
;i++
)}
Qt網路程式設計 主機資訊
為了編寫乙個類似qq的聊天程式,學習了一下網路程式設計。在qt的幫助手冊中可以看到qt networkprogramming 模組,裡面有介紹和一些例程。我從這些例程中慢慢摸索,慢慢學習了一些網路程式設計的知識,總結一下吧。qt network 中有很多模組,介紹一下 這是乙個網路介面類,可以獲得網...
Qt網路程式設計學習 獲取本機網路資訊)
補充 qgridlayout中的 addwidget引數的意義 依次代表 行 列 占用行數 占用列數 主要標頭檔案 qnetworkinte ce qhostinfo 主要函式 qstring localhostname qhostinfo localhostname 獲得本機主機名qhostinf...
QT獲取本機網路資訊
直接上 qstring detail qlistlist qnetworkinte ce allinte ces for int i 0 ientrylist inte ce.addressentries for int j 0 j 接下來解釋每行 的意思 定義乙個字串detail,獲取所有網路介面...