亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: htonl(INADDR_ANY) 為什么得到0.0.0.0 ? [打印本頁]

作者: kelvin_ke    時(shí)間: 2009-08-31 08:52
標(biāo)題: htonl(INADDR_ANY) 為什么得到0.0.0.0 ?
小弟是新手,在linux 下寫個(gè)socket通訊的程序
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);

結(jié)果 系統(tǒng)自動填入的地址是 0.0.0.0 以前在windows下都沒有遇到過..
不知是什么原因?
補(bǔ)充: ifconfig 命令 顯示本機(jī)的ip是192.168.1.100,網(wǎng)絡(luò)沒有問題

謝謝各位解答,小弟已經(jīng)明白了。

[ 本帖最后由 kelvin_ke 于 2009-9-1 22:58 編輯 ]
作者: oscarboycn    時(shí)間: 2009-08-31 09:07
關(guān)注下,沒有遇到過
作者: yyjshpy    時(shí)間: 2009-08-31 09:09
INADDR_ANY 代表任意地址
作者: aaaaa5aa    時(shí)間: 2009-08-31 09:29
原帖由 kelvin_ke 于 2009-8-31 08:52 發(fā)表
小弟是新手,在linux 下寫個(gè)socket通訊的程序
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);

結(jié)果 系統(tǒng)自動填入的地址是 0.0.0.0 以前在windows下都沒有遇到過..
不知是什么原因?
補(bǔ)充: ifconfig 命 ...

這個(gè)函數(shù)是取客戶端 IP
作者: cugb_cat    時(shí)間: 2009-08-31 09:50
要不你認(rèn)為應(yīng)該是什么?
0.0.0.0表示來自任意網(wǎng)卡的包都要發(fā)給server。
作者: kelvin_ke    時(shí)間: 2009-08-31 11:10
標(biāo)題: 回復(fù) #5 cugb_cat 的帖子
恩,以前理解有誤,認(rèn)為是隨即分配本機(jī)網(wǎng)卡的一個(gè)地址作為server的地址
所以就在想為啥不是192.168.1.100 或者 127.0.0.1
作者: kelvin_ke    時(shí)間: 2009-08-31 11:12
標(biāo)題: 回復(fù) #4 aaaaa5aa 的帖子
不是吧。
應(yīng)該是把主機(jī)字節(jié)順序轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)順序吧
作者: epegasus    時(shí)間: 2009-08-31 11:18
見<TCPIP詳解>第1卷第3章,表示網(wǎng)絡(luò)上主機(jī).
有時(shí)候主機(jī)還沒有IP地址卻要用到IP協(xié)議,就把這個(gè)地址做源地址,比如主機(jī)發(fā)的DHCP請求時(shí).
作者: langue    時(shí)間: 2009-08-31 11:20
你試試,INADDR_ANY 是不是就等于零?
作者: aaaaa5aa    時(shí)間: 2009-08-31 11:20
原帖由 kelvin_ke 于 2009-8-31 11:12 發(fā)表
不是吧。
應(yīng)該是把主機(jī)字節(jié)順序轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)順序吧

你最好去看看這個(gè)函數(shù)的實(shí)現(xiàn),以及功能
作者: diepics    時(shí)間: 2009-08-31 11:23
INADDR_ANY就是指定地址為0.0.0.0的地址,這個(gè)地址事實(shí)上表示不確定地址,或“所有地址”、“任意地址”。 一般來說,在各個(gè)系統(tǒng)中均定義成為0值。
例如MontiVista Linux中在/usr/include/netinet/in.h定義為:
/* Address to accept any incoming messages.   */
#define INADDR_ANY              ((in_addr_t) 0x00000000)
作者: 嵌入小凱子    時(shí)間: 2009-09-01 21:06
printf("%s\n",inet_ntoa(client_addr.sin_addr.s_addr));試一下




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2