能详细讲一下socket这几个函数吗?

yjgx007 武汉大学 2004-12-27 01:19:49
看了半天,好像是转换网络地址的,能再详细讲一下吗?谢谢大家!

htonl
-----------------------------------------------------------------------
Converts a 32-bit quantity from host-byte order to network-byte order.

htons
-----------------------------------------------------------------------
Converts a 16-bit quantity from host-byte order to network-byte order.

inet_addr
-----------------------------------------------------------------------
Converts a character string representing a number in the Internet standard ".'' notation to an Internet address value.

inet_ntoa
-----------------------------------------------------------------------
Converts an Internet address value to an ASCII string in ".'' notation that is, "a.b.c.d''.

ntohl2
-----------------------------------------------------------------------
Converts a 32-bit quantity from network-byte order to host-byte order.

ntohs2
-----------------------------------------------------------------------
Converts a 16-bit quantity from network byte order to host byte order.
...全文
74 点赞 收藏 7
写回复
7 条回复
HunterForPig 2004年12月27日
就是网络字节序,同主机字节序的存储方式
比如0x1234 可能是 0x34 0x12
回复 点赞
yjgx007 2004年12月27日
Big-endian 和litter-endian是什么?
回复 点赞
sharkhuang 2004年12月27日
你先要看看Big-endian 和litter-endian
回复 点赞
oyljerry 2004年12月27日
网络地址,主机地址存储顺序不一样
回复 点赞
yjgx007 2004年12月27日
Thanks for lots of help!
回复 点赞
双杯献酒 2004年12月27日
这是里涉及到以下概念:
(1)本地的数字
数字在本地计算机上的存储格式,
比如0x1234 可能是 0x34 0x12
(2)网络的数字
网络传输规定的数据格式,
比如0x1234 可能是 0x12 0x34
这种数据转换主要是两种类型 short(16bit) 和 long(32bit)。

(3)字符串的IP地址,
比如 "1.2.3.4"
(4)数字型的IP地址(long类型,4字节),
比如 0x01020304

上面的函数实现这些格式之间的转换。
回复 点赞
HunterForPig 2004年12月27日
htonl,htons,将主机字节序转换为网络字节序
ntohl2,ntohs2 将网络字节序转换为主机字节序
inet_addr("127.0.0.1") 将str转换为ip地址
inet_ntoa 将ip地址转换str
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7878

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告