首页IT科技linux系统搜索文件命令(Linux Socket编程(不限Linux) 吴秦 博客园)

linux系统搜索文件命令(Linux Socket编程(不限Linux) 吴秦 博客园)

时间2025-06-21 03:32:16分类IT科技浏览4908
导读:Linux Socket编程(不限Linux) 2010-12-12 21:58...

Linux Socket编程(不限Linux)

2010-12-12 21:58

by

吴秦,

28238

阅读,

25

评论,

收藏,

编辑

socket一词的起源

在组网领域的首次使用是在1970年2月12日发布的文献IETF RFC33中发现的              ,撰写者为Stephen Carr            、Steve Crocker和Vint Cerf            。根据美国计算机历史博物馆的记载                    ,Croker写道:“命名空间的元素都可称为套接字接口                    。一个套接字接口构成一个连接的一端      ,而一个连接可完全由一对套接字接口规定        。            ”计算机历史博物馆补充道:“这比BSD的套接字接口定义早了大约12年         。                    ”

网络字节序与主机字节序

主机字节序就是我们平常说的大端和小端模式:不同的CPU有不同的字节序类型          ,这些字节序是指整数在内存中保存的顺序                     ,这个叫做主机序                   。引用标准的Big-Endian和Little-Endian的定义如下:

a) Little-Endian就是低位字节排放在内存的低地址端         ,高位字节排放在内存的高地址端            。

b) Big-Endian就是高位字节排放在内存的低地址端      ,低位字节排放在内存的高地址端      。

网络字节序:4个字节的32 bit值以下面的次序传输:首先是0~7bit                     ,其次8~15bit            ,然后16~23bit   ,最后是24~31bit                  。这种传输次序称作大端字节序               。由于TCP/IP首部中所有的二进制整数在网络中传输时都要求以这种次序                     ,因此它又称作网络字节序   。字节序               ,顾名思义字节的顺序,就是大于一个字节类型的数据在内存中的存放顺序                  ,一个字节的数据没有顺序的问题了                  。

所以:在将一个地址绑定到socket的时候                   ,请先将主机字节序转换成为网络字节序   ,而不要假定主机字节序跟网络字节序一样使用的是Big-Endian                  。由于这个问题曾引发过血案!公司项目代码中由于存在这个问题              ,导致了很多莫名其妙的问题                    ,所以请谨记对主机字节序不要做任何假定      ,务必将其转化为网络字节序再赋给socket。

总结:客户端的connect在三次握手的第二个次返回          ,而服务器端的accept在三次握手的第三次返回               。

声明:本站所有文章                     ,如无特殊说明或标注         ,均为本站原创发布                     。任何个人或组织      ,在未征得本站同意时                     ,禁止复制                    、盗用        、采集         、发布本站内容到任何网站                   、书籍等各类媒体平台    。如若本站内容侵犯了原著者的合法权益            ,可联系我们进行处理            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
燃爆了(网站推行构思(构建的网站策略,提升用户满意度))