说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

刚开始学习WinSocket ,对一些基础知识不太理解,请指点

编辑:说三道四文库 发布时间:2017-02-23 01:23
HTML文档下载 WORD文档下载 PDF文档下载
htonl()、ntohl()这两个函数我不清楚,
书上说:
htonl函数是把主机字节顺序转换成网络字节顺序。
主机字节顺序、网络字节顺序各是什么意思?
谢谢
inter86处理器上,用“小头”形式来表示多字节编号,字节的排序是从最无意义的字节到最有意义的字节,在计算机中把ip地址和端口号指定成多字节数时,这个数就按“主机字节”顺序来表示,但是如果在网络上指定ip地址和端口号,必须用“大头”顺序来表示,从最有意义的字节到最无意义的字节,一般称为网络字节顺序
是指数据流中以每八位为一单位(Octet)的排列顺序。本机的数据存储方式有所谓Big-endian和Little-endian之分,即多字节中高字节与低字节的存储顺序如何安排,可能与TCP/IP规定的不一样,所以用这两个函数来调整。
请举个例子:
202.111.121.011   这个ip地址是不是就是网络字节顺序?
网络中除了TCP\IP之外,还有很多的协议,他们各有各的主机字节顺序,所以为了让数据在网络上流通,被使用各种协议的机子认到,所以要转换成每台机子都认得到的网络字节顺序。然后本地机再转换成符合自己机子协议的主机字节顺序。
202。111。121。011是主机字节顺序。而且要用inet_addr才能转换成网络字节顺序
《windows网络编程技术》中讲到:
“inter86处理器上,用“小头”形式来表示多字节编号,字节的排序是从最无意义的字节到最有意义的字节,在计算机中把ip地址和端口号指定成多字节数时,这个数就按“主机字节”顺序来表示,但是如果在网络上指定ip地址和端口号,"互连网联网标准"指定多字节值必须用“大头”顺序来表示,从最有意义的字节到最无意义的字节,一般称为网络字节顺序 。”

请问其中的“大头、小头”形式是什么样子的?请举例。
请举各主机字节转换到网络字节顺序的例子,谢谢
再加30分
please
please
?
?
   不同的型号的机子有时会用不同的字节顺序存储数据。例如,Intel机器和
Macintosh(摩托罗拉)机器就用相反的顺序存储数据。Inter的字节顺序成为
"little-Endian(小头)",反之Macintosh用的字节顺序成为"big-Endian(大头)".

   小头顺序指最有意义的字节方在最左边,而大头顺序指最有意义的字节方在最右边。
   主机字节顺序是"小头",网络字节顺序是"大头"。

   因此"172.18.196.52"是个主机字节顺序,因为172是用来区分IP地址的类别的,显然
是最有意义的,但"172.18.196.52"还不能用htonl函数来转换,因为它只是个字符串,
要用inet_addr()来转换成网络字节顺序。

    在下面两种情况下,你发数据时,必须将主机字节顺序转换成网络字节顺序:
    (1)你传送的数据是端口号或IP地址
    (2)如果你将要通信的服务器软件不是用MFC做的(并且你没有它的原代码),而
         这两台机器又用不同的字节顺序
    
谢谢 caiyi9000(翼翼) 

请问: 
我ping了sohu的主机,显示 :   61.135.131.6 
这里显示的是不是网络字节吧?
那转换成主机字节是多少?
我在ie中敲击我   61.135.131.6    就可以访问sohu.

其实他是个主机字节,传到网络中,就改变成了网络字节了。对不对?
我在本机中用主机字节就可以转成网络字节吗
操作系统实现Ping命令,以及IE在发送HTTP请求建立连接时,已经为你实现了转换。
比如,

const char* pIp="192.168.1.6";

unsigned long ulIP = inet_addr(pIP);//ulIP是主机序

unsigned long ulIP_network = htonl(ulIP);//这里ulIP_network就是网络序

char* pcHost=NULL;
pcHost=inet_ntoa(ulIP_network);//得到的pchost所指向的“6.1.168.192”

pcHost = inet_ntoa(ulIP); //这里,pcHost指向“192.168.1.6"

懂了吗?
谢谢你们的解答,下面是我的理解:

    例如: sohu :  61.135.131.6

const char* Ip="61.135.131.6";  //字符串(主机顺序)必须用inet_addr来转换为网络字节顺序
   unsigned long ulIP =inet_addr(Ip);//ulIP现在是网络字节顺序

运行后:
   Ip:   0x004153f0
     ulIP:    109283133

************

   u_long a=1212;         //端口为1212 ,数字(主机顺序)应该用htonl转换为网络字节顺序
unsigned long b = htonl(a);//这里b就是网络序

运行后:
    a:        1212
    b:        3154378752       //端口号为1212的网络顺序的表示形式

inet_addr 和 htonl 的功能是一样的,都是把参数由主机顺序转换为网络字节顺序,不同的是所对应的参数不同。一个是转换字符传,一个是数字。   (同理,网络顺序转换成主机顺序也是用另外两个相对应得函数)

是不是一般情况下,写程序,因为网络联系需要ip和端口号,所以程序同时都要用到这两个函数?  
我的理解对吗?  
ask
please
你所不知道的虚拟化和云计算 [开源推荐]Effeckt.css项目:CSS交互动画应用集锦 针对Google Glass应用的四大UX设计原则及典型应用 Google收了摩托罗拉,微软收了诺记,黑莓又将花落谁家? 十亿月PV网站秘诀:Reddit自失败中总结的25条经验 粉碎5个NoSQL流言:各司其职,NoSQL的出现比关系型更早 豌豆荚发力移动游戏平台,推出SDK 2.0 BlackBerry Jam Asia 2013即将在香港隆重召开,免费门票限量提供 小米发布会高潮迭起:米3、电视、Hugo大牛 谷歌放在Windows上的特洛伊木马:Chrome Apps应用平台 解析:Google基于数据驱动的招聘面试程序 决战“缓存”之巅:微软 vs. 亚马逊 雪中送炭:十大前沿移动应用开发工具 高通智能手表Toq都用到了哪些技术? 研发周报:修改一行SQL代码 性能提升了100倍 2013年NoSQL就业趋势分析 鲜为人知的静态、命令式编程语言——Nimrod 高性能Web应用打造攻略:扩展过程中20个最大的绊脚石 开源项目Marathon:让你的数据中心像谷歌一样运行 精益化运营:10款移动统计分析工具推荐 移动建站工具(一):分秒钟将Web网站移动化 移动周报:小米的“倚天屠龙记” 智能手表是个尴尬的产品 屏幕缺陷一枪毙命 看15岁的谷歌的前21位员工现在都在做什么 分析师:三星将失去中国市场份额的头把交椅 5款工具助你写出更好的Java代码 Noitom:"中国创造"的动捕技术 缘创派:帮助技术人员寻找创业伙伴 Nginx创始人Igor Sysoev解读Nginx的发展史 对女性友好的编程语言 ISC2013专家云集,畅谈全球网络安全 高手们救命呀!! 如何得到NEOPLANET风格的界面代码? 紧急请教:音量大小调整如何编?????????????? 关于double类型为null的问题。 我的Win2000突然控制台的默认值变成全屏了,请问如何改回窗口模式 我的IE浏览网页的时候,在输入框中无法输入任何东东,怎么解决? 如何让工具栏按钮按下后不弹起来?如何做到一个TOOLBAR对应一个MENUITEM,由菜单来控制TOOLBAR的隐现? VB没市场了吗? 关于EditMask的问题,是PB的Bug吗? 147分求助:那有星际108B下载 文件存在判断 如何在com中运用ado的方法实现对数据库的操作??(急!!) OpenGL的入门级问题. 大家快帮帮忙啊!这个问题很棘手,公司在催!!! 急:我得到了窗口句柄,如何通过这个窗口句柄获取对应的窗口实例?? 请解释一下以下程序 搞了这么久,java还在入门阶段,太麻烦了!我要放弃? 有条proc 的语句不会写,大家帮一下忙! thanks a lot. 关于sql server中money 字段的问题 我真的很着急,你们大家都不会吗?还没人理我的话,我只好下网看帮助了!! 请问有什么关于数据库开发的好书么? 请问,在FRAME页中点击IE“刷新”按钮后如何只刷新一个frame而不刷新整个页面?? 请教(无为):关于VC与XML 向各位大侠求救!VB6如何直接输出到打印机?(有关POS机) 请问哪里有InstallShield下载啊 在FRAME页中点击IE“刷新”按钮后,如何只刷新一个frame而不刷新整个页面?? 使用VC+ATL生成控件,在VB中设计时属性窗口设置的值保存不住,运行的时候可以保存,是什么问题 怎样在dephi中用ado调用视图 ~~~动态设置数据窗口~~~~~~~~~~~~~~~~~~~~~~~~~~~! 一两狂死郎之天衣有缝:我是琳琳,提问有关音量问题的人。请来一下!! 有关李维的ADO/MTS/COM的问题,求救! vc与xml 请教:vc与xml 如何做象IE里最大化按钮下的转动的“e"字母? help!!!!!!!高分。。关于applet和servlet通信一个问题 JVM INSTR pop ;什么意思?高手帮帮忙! 如何访问子数据窗口中文本控件的text属性。在线等待!!!!!!!!!! 有的程序Dialog控件比Visual C++所提供的要多,不只是如何实现的?是自己做的吗? 我编了一个用MODEM-MODEM拨号对传的程序。但端口检测不正确,不能拨号。 怎么用installshield 实现软件加密? 急!如何将含NULL的string给MEMO字段赋值 请教:为什么我在WinXP上装完了vs.net,却无法启动?点击出现vs的初始画面,然后什么都没了? 请问hresult的错误码的意思,在哪里可以找到? 有关ORACLE的数据链的问题 我是琳琳,刚才提问有关音量问题的人。如果用一个TrackBar控制左右音道如何解决? 如何控制控件的显示层次! 单文档程序中的对话框中要打印和预览,该如何编程 有人能想通这是怎么算出来的吗? 如何设定objfilesys 一两狂死郎之天衣有缝:如果用一个TrackBar控制左右音道如何解决? 华山论剑 好文章推荐写的好的文章,国外文学也行,只要是中文.名人的文章也好.能给我推荐这篇文章的理由么?我们上课就要求要这样呢,答好了会给你分的! 做一对无盖的长方体铁桶.底面是边长为3.5dm的正方形,高4dm,要用多少铁皮?要解题步骤,一步一步的写 一个长方体无盖的铁桶,长50厘米,宽40厘米,高30厘米.制作一个这样的桶,至少需要多少平方厘米的铁皮? 从水泵到目的地的路程是70米、水泵与目的地的高差是2米 求出水泵的扬程 互联网的好处英文作文 网络可以给人们带来什么方便 那里有好文章, 一块正方形铁皮,面积为900平方厘米,在它的四角剪去四个面积相等的小正方形,焊接成一个屋盖的正方形铁皮盒(接缝处忽略不算).这个铁皮盒的表面积是多少平方厘米? 国际互联网能给我们带来什么方便 推荐好文章请帮我推荐一些300字左右(左右幅度不超过50个字)的优美文章(越多越好!) 防砸玻璃跟普通PVB夹胶玻璃有什么不同?如题没一个说对的.pvb夹胶可防弹不防砸,防砸玻璃可防弹也可防砸 复合胶条中空玻璃与铝条中空玻璃哪个比较好 一辆汽车行驶了4分之5千米用了10分之1升油,照这样计算,行使2分之3千米用油多少升? 怎样把夹胶玻璃PVB提出来 5+12A+5与5+9A+5的中空玻璃差价多少采用1.5mm厚的镀锌衬钢,最好具体说明一下价格差在什么地方.这是用在塑钢推拉窗上的,玻璃是用的张家港华尔润浮法玻璃 一辆汽车行驶5分之4千米用油10分之1升,照这样计算,行二分之三千米用油多少升? 8+1.14(PVB)+8夹胶玻璃,谁给报个价钱多少一平方! 是否只有断桥铝可以用(匹配)5+12A+5的中空玻璃,其它凤铝型材不行(只能匹配5+6A+5中空玻璃)我要封阳台,用滑轨的门窗 用30mm的水管给长度为2500米,垂直高度为300米的山林喷水要多大功率多大扬程的水泵 只有220伏的农村用电 PVB夹胶玻璃和DOK聚酯玻璃哪个更隔音 一组双组中空玻璃密封胶能做多少中空玻璃 扬程10米,直线距离250米,需要多大功率的潜水泵? 一块长方形铁皮,长40厘米,宽20厘米.焊接成一个高为5厘米的的无盖长方体容器,可以怎样制作?一块长方形铁皮,长40厘米,宽20厘米.焊接成一个高为5厘米的的无盖长方体容器,可以怎样制作,请你 为什么说中国人口过多影响经济的的发展 如何写关于网络对青少年的论文提纲 求水泵,山高50米,最远距离2000米,求,打井深度.水泵扬程,水管口径,经济型求水泵,山高50米,最远距离2000米,口径2.2 2.5寸两个型号.,每小时出水25--30方,.距离变压器,1200米求,.水泵扬程,经济型 .可不 夹胶玻璃最常见厚度是多少? 汽车每公里油费怎么算 水泵扬程60米距离400米流量是30方用多大直径与压力的水管我现在要装滴灌,水池离水库高度是60米距离是400米需要流量30方每小时,需要多大的水泵,水管直径要多大,要承受多大压力的水管, 用一张长80厘米宽40厘米的长方体铁皮焊接成一个深10厘米的长方体无盖铁皮盒怎样焊接诶才使容积最大最大容积是多少 一根水管,它的内直径为4厘米,管内水流速度是每秒5米,这根水管每分钟可以流过( )立方分米的水? 英语internet的优点和缺点的文章一定要是英语的额! 有一块长40厘米,宽20厘米的长方形铁皮,把它切割后焊接成一个高5厘米的无盖长方体容器.要使这个长方体容器的容积最大,它的容积是多少立方厘米?(铁皮厚度不计)要步骤. 一个圆柱形水管的内直径为6厘米,如果水在管内的流动速度为每秒5分米,那么管口1分钟内可以流出水多少立方一定要算式啊,注意单位啊!上面没打完,sorry,最后一句是“那么管口1分钟内可以 用英语写一篇关于因特网对英语学习能带来哪些好处的作文 一块长方形的铁皮,长32厘米,在它四个角分别剪去边长4厘米的正方形,然后折起来焊成一个无盖的长方体铁皮盖,己知这个铁皮盖的容积式768立方厘米,原来这块铁皮的面积是多少? 关于网络的政治论文1000字到1200字 用英语写一篇关于互联网优点和缺点的作文格式是:The internet has many advantages .First,it...Hower ,The internet also has somey disadvantages .First,. 《建筑玻璃应用技术规程》中提到公称厚度,请问如果是6+12A+6的中空玻璃的公称厚度是多少? 关于儿童和青少年肥胖的调查报告 作文一定要是作文啊!算了,我前面的都写好了,就差个结尾,谁帮我写一个 您要找的是不是:一块体积为100立方厘米的冰块融化成水后 体积多大 百度知道 玻璃的等效厚度和公称厚度一样么?如果不一样,公称厚度应如何计算?比如5+1.14PVB+5的玻璃公称厚度为多少 急求水泵的排水量!水泵扬程是30米 口径是50毫米 每小时大概可以排多少水啊? 一块体积为50立方厘米的冰块熔化成水后,体积多大? 6+0.76pvb+6mm夹胶玻璃的厚度怎么算? 空调冷冻水和冷却水系统水泵扬程问题大家都知道,在空调水系统当中,水泵的扬程一般都低于楼层高度,这是为什么?是不是冷冻泵和冷却泵的扬程都可以低于楼层高度?在空调水系统设计当中, 施工订购玻璃为6+0.78+6的钢化夹胶玻璃,但实际到货玻璃总厚度只有不到12mm.而且从侧面只看到两层玻璃合在一起,根本看不到中间有胶片的存在.而破碎玻璃中间的胶片只有0.38mm.这种合格吗?但 双休日的好处和坏处80字作文 什么是泵的扬程?当泵抽不同介质时扬程是否一样?比如同一台泵送水和送硫酸扬程一样吗? 钢化夹胶玻璃的规格有哪些(长×宽),重点想知道钢化夹胶玻璃顶棚具体要怎么安装我想做的是一个顶棚全是玻璃的茶馆.不知道怎么样才可行. 【参考】300字文章,关于网络通讯工具的好处和坏处, 水泵扬程,扬程的单位是什么? 6+0.76+6双钢化夹胶玻璃价格.要上海地区的. 做一个无盖的长方体铁桶,共用铁皮252平方分米.已知桶底是边长6分米的正方形,桶高多少分米?急!额,不用了- -我自己解粗来了。。谢谢各位了。。 给2篇800字左右的有教育意义的好文章,积分不多, 10+1.52PVB+10钢化夹胶玻璃 实际厚度能达到多少 一个无盖长方体铁皮水桶,一共用去192平方分米铁皮,桶底是边长4分米正方形,桶高 5.5千瓦水泵,50管扬程70米每小时出水量怎样计算 下图中的1和2是两块不同的铁皮,将每块铁皮弯折后焊接成一个无盖长方体的铁通(2号焊接成的是一个底面为正方形的无盖长方体),比较两种铁皮焊接成铁桶后的装水情况,结果应该是A.1号多 一正方形铁皮,边长是2分之5米,做一个长方体铁桶用去4分之3,还剩多少
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn