当前位置: 首页 > news >正文

dw怎么做购物网站济南网站的公司哪家好

dw怎么做购物网站,济南网站的公司哪家好,嘉兴网站开发公司电话,wordpress怎么导入模板文件文章目录 4.8 Socket介绍4.9字节序简介字节序举例 4.10字节序转换函数 4.8 Socket介绍 所谓 socket#xff08;套接字#xff09;#xff0c;就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端#xff0c;提供了应用层进… 文章目录 4.8 Socket介绍4.9字节序简介字节序举例 4.10字节序转换函数 4.8 Socket介绍 所谓 socket套接字就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲套接字上联应用进程下联网络协议栈是应用程序通过网络协议进行通信的接口是应用程序与网络协议根进行交互的接口。 socket 可以看成是两个网络应用程序进行通信时各自通信连接中的端点这是一个逻辑上的概念。它是网络环境中进程间通信的 API也是可以被命名和寻址的通信端点使用中的每一个套接字都有其类型和一个与之相连进程。通信时其中一个网络应用程序将要传输的一段信息写入它所在主机的 socket 中该 socket 通过与网络接口卡NIC相连的传输介质将这段信息送到另外一台主机的 socket 中使对方能够接收到这段信息。socket 是由 IP 地址和端口结合的提供向应用层进程传送数据包的机制。 socket 本身有“插座”的意思在 Linux 环境下用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件那么理所当然的我们可以使用文件描述符引用套接字。与管道类似的Linux 系统将其封装成文件的目的是为了统一接口使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信而套接字多应用于网络进程间数据的传递。 Linux系统一切皆文件。 套接字通信分两部分 服务器端被动接受连接一般不会主动发起连接 客户端主动向服务器发起连接 socket是一套通信的接口Linux 和 Windows 都有但是有一些细微的差别。 4.9字节序 简介 大部分计算机采用小端字节序。 现代 CPU 的累加器一次都能装载至少4 字节这里考虑 32 位机即一个整数。那么这 4字节在内存中排列的顺序将影响它被累加器装载成的整数的值这就是字节序问题。在各种计算机体系结构中对于字节、字等的存储机制有所不同因而引发了计算机通信领域中一个很重要的问题即通信双方交流的信息单元比特、字节、字、双字等等应该以什么样的顺序进行传送。如果不达成一致的规则通信双方将无法进行正确的编码/译码从而导致通信失败 字节序顾名思义字节的顺序就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。 字节序分为大端字节序Big-Endian 和小端字节序Little-Endian。大端字节序是指一个整数的最高位字节23 ~ 31 bit存储在内存的低地址处低位字节0 ~ 7 bit存储在内存的高地址处小端字节序则是指整数的高位字节存储在内存的高地址处而低位字节则存储在内存的低地址处。 字节序举例 /* 字节序字节在内存中存储的顺序。小端字节序数据的高位字节存储在内存的高位地址低位字节存储在内存的低位地址大端字节序数据的低位字节存储在内存的高位地址高位字节存储在内存的低位地址 */// 通过代码检测当前主机的字节序 #include stdio.hint main() {//联合体直接创建它的变量testunion {short value; // 2字节char bytes[sizeof(short)]; // char[2]} test;test.value 0x0102;if((test.bytes[0] 1) (test.bytes[1] 2)) {printf(大端字节序\n);} else if((test.bytes[0] 2) (test.bytes[1] 1)) {printf(小端字节序\n);} else {printf(未知\n);}return 0; } 4.10字节序转换函数 当格式化的数据在两台使用不同字节序的主机之间直接传递时接收端必然错误的解释之。解决问题的方法是发送端总是把要发送的数据转换成大端字节序数据后再发送而接收端知道对方传送过来的数据总是采用大端字节序所以接收端可以根据自身采用的字节序决定是否对接收到的数据进行转换小端机转换大端机不转换。 网络字节顺序是 TCP/IP 中规定好的一种数据表示格式它与具体的 CPU 类型、操作系统等无关从而可以保证数据在不同主机之间传输时能够被正确解释网络字节顺序采用大端排序方式。 BSD Socket提供了封装好的转换接口方便程序员使用。包括从主机字节序到网络字节序的转换函数htons、htonl从网络字节序到主机字节序的转换函数ntohs、ntohl。 h - host 主机主机字节序 to - 转换成什么 n - network 网络字节序 s - short unsigned int 2字节 l - long unsigned int /*网络通信时需要将主机字节序转换成网络字节序大端另外一段获取到数据以后根据情况将网络字节序转换成主机字节序。// 转换端口uint16_t htons(uint16_t hostshort); // 主机字节序 - 网络字节序uint16_t ntohs(uint16_t netshort); // 网络字节序 - 主机字节序// 转IPuint32_t htonl(uint32_t hostlong); // 主机字节序 - 网络字节序uint32_t ntohl(uint32_t netlong); // 网络字节序 - 主机字节序端口和IP的区别只是数据长度不同。端口都是2字节而IP是4字节 */#include stdio.h #include arpa/inet.hint main() {// htons 转换端口unsigned short a 0x0102;printf(a : %x\n, a);unsigned short b htons(a);printf(b : %x\n, b);printf(\n);// htonl 转换IPchar buf[4] {192, 168, 1, 100};int num *(int *)buf;int sum htonl(num);unsigned char *p (char *)sum;printf(%d %d %d %d\n, *p, *(p1), *(p2), *(p3));printf(\n);// ntohlunsigned char buf1[4] {1, 1, 168, 192};int num1 *(int *)buf1;int sum1 ntohl(num1);unsigned char *p1 (unsigned char *)sum1;printf(%d %d %d %d\n, *p1, *(p11), *(p12), *(p13));// ntohsreturn 0; }
http://www.w-s-a.com/news/199864/

相关文章:

  • 外贸网站模板免费下载微网站制作软件
  • 一个新的网站怎么做宣传技术先进的网站建
  • 福建网站建设有限公司需求网站
  • 生物科技企业网站做的比较好的企业培训网站模板
  • 南京 高端网站建设网站备案密码怎么找回
  • 蛋糕店网站模板建设电子商务系统网站
  • 海口网站建设优化公司网站开发要加班吗
  • 建设一个网站需要注意哪些要求群晖的网站开发
  • 精通网站开发阅读网页视频下载慢怎么办
  • 网站标题的选择巴音郭楞库尔勒网站建设
  • 成都市网站建设服务商怎么进网站后台管理系统
  • 企业网站站内优化30岁做网站编辑
  • 与安网站建设网站建设征求意见稿
  • 学校网站推广做网站手把手
  • 网站开发遇到的难题wordpress文章调用
  • 网站建设做的好在线logo免费设计生成器标智客
  • 郑州做网站齿轮网站排名怎么做 site
  • 船员专用网站开发建议wordpress 图片占用id
  • 桌面软件开发跟网站开发那个上海网站备案在哪里查询
  • 罗湖网站建设陕西省建设网官网住房和城乡厅官网
  • 做一个网站的详细教学wordpress 忘记用户名密码
  • 建设银行的网站是多少wordpress添加新页面跳转
  • 网站设计费用抓取网站访客qq号码
  • 驾校视频网站模板郑州网站建设价格
  • 上海 有哪些做网站的公司成都企业网站备案流程
  • 移动端快速建站的方法青海公司网站建设
  • 网站重新搭建程序要多少钱移动互联网应用的使用情况
  • 学建站论坛给别人做网站怎么赚钱吗
  • 响应式网站代码校友会网站建设的目的
  • 北京公司网站网站建设html模板