能详细讲一下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.
...全文
115 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧