一.socket的一些基本結構
struct in_addr
struct sockaddr_in
二.socket的一些輔助函式
1.位元組序轉換函式:
·htons : host to network byte order , short (unsigned) integer
·htonl : host to network byte order , long (unsigned) integer
·ntohs : network to host byte order , short (unsigned) integer
·ntohl : network to host byte order , long (unsigned) integer
記憶方法:
h表示host,n表示network,l表示long,s表示short
例如:num = htons(port_num);
表示將乙個名叫port_num的埠號轉換成網路位元組順序並賦值給num變數
·inet_addr()
將乙個用點分十進位制表示的ip位址字串轉換成32位無符號整數。此整數已經是
網路位元組順序,無需再呼叫htonl()
·inet_ntoa()
將乙個32位無符號整數轉換成乙個點分十進位制表示的ip位址字串,此函式接受
乙個in_addr結構作為引數,將返回的字串儲存再乙個static的緩衝區內,因
此,下次呼叫此函式時,將改變上次呼叫的結果。
3.查詢主機資訊函式:
struct hostent* gethostbyname(const char *name);
引數:輸入引數時需要解析的主機名,也可以是網域名稱
返回值:返回乙個描述主機資訊的結構hostent的指標
struct hostent
;對於tcp/ip協議而言,h_addrtype的值等於af_inet,h_length的值是4,因為ip位址是4位元組。h_addr_list實質上是乙個儲存位址的緩衝區,如果後續的**要利用這個緩衝區,需要進行強制型別轉換。
socket的一些基本結構
socket的一些基本結構 一 socket的一些基本結構 struct in addr struct sockaddr in 二 socket的一些輔助函式 1 位元組序轉換函式 htons host to network byte order short unsigned integer hto...
socket 的一些引數
sock raw 注意一定要在root下使用 原始套接字程式設計可以接收到本機網絡卡上的資料幀或者資料報,對與監聽網路的流量和分析是很有作用的.一共可以有3種方式建立這種socket 1.socket af inet,sock raw,ipproto tcp ipproto udp ipproto ...
socket 的一些麻煩
在vs2010 上面倒是可以編譯的源 但是換到2008上,編譯就出現了如下錯誤資訊。sockaddr in 未宣告的識別符號 包含的標頭檔案是windows.h 最後還是有了結果,就是 在 sockaddr in 的前頭 加上 struct.還有錯誤 error c2275 socket 將此型別用...