一:创建TCPserver
如下代码:
创建TCPserver设置服务信息代码如下

int sock = socket(AF_INET, SOCK_STREAM, 0);if (sock == -1){printf("create socket failed!\n");return -1;}unsigned short port = 8080;if (argc > 1){port = atoi(argv[1]);}//创建sockaddr_in saddr;saddr.sin_family = AF_INET;   //TCP协议saddr.sin_port = htons(port); //本地字节序转换为网络字节序saddr.sin_addr.s_addr = htonl(0);   //任意ip地址发过来的数据都接收

如上代码我们就初始化完成了scockaddr这个套接字结构体,包含了协议,基于网络字节序的端口号,和ip地址。

二:网络字节序讲解:

如上图所示:
大端模式:Big Endian
高位字节在前面,地位地址在后面。

小端模式:Little Endian
低位字节在前面,前面的意思是什么?就是前面的内存地址小一点。高位地址在后面。当我我们目前x86的系统都是采用小端模式。

如下例子想表示一个整型数字2

上图左侧表示前面。而且这是字节序不是二进制次序,单个字节不存在字节序转换的问题。
注意:网络字节序:全部采用大端方式。而我们的x86,windows等系统都是采用小段方式,所在程序中如果我们在创建连接时,要进行字节序转换。

C++socket编程(三)3.2 创建TCPServer设置服务信息并讲解网络字节序相关推荐

  1. 网络编程------IP地址,端口号,套接字,网络字节序

    IP地址         IP地址是IP协议中,用来标识网络中的唯一一台主机的地址.IP协议有两个版本IPv4,IPv6.在IPv4中,IP地址是一个4字节的32位的整数.在IPv6中,IP地址是一个 ...

  2. 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client

     1  Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端 ...

  3. 网络字节序 —— 主机字节序 (Socket编程) 转

    在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa.查看这些函数的解析,会 ...

  4. Socket编程:必须要了解的网络字节序和转换函数

    目录 主机字节序和网络字节序 转换函数 htonl .htons .ntohl 和 ntohs inet_addr .inet_aton 和 inet_ntoa inet_pton 和 inet_nt ...

  5. 套接字编程--1(UDP协议编程,端口号,传输层协议,网络字节序)

    传输层的协议: ip地址: 在网络中唯一标识一台主机 IPV4:uint32_t DHCP NAT IPV6 : uint8_t addr[16] -向前并不兼容IPV4 每一条数据都必须包含源地址和 ...

  6. 【Linux网络编程学习】预备知识(网络字节序、IP地址转换函数、sockaddr数据结构)

    此为牛客Linux C++课程和黑马Linux系统编程笔记. 1. 网络字节序 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分. 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小 ...

  7. java 网络字节序转主机字节序_C语言高级编程——网络编程技术

    了解什么是网络编程 熟悉七层网络模型 熟悉网络开发中使用到的函数 掌握TCP协议类程序开发 掌握UDP协议类程序开发 计算机本身是不会进行网络通信的,所以要想使通过软件进行网络通信,必须制定相应的规则 ...

  8. 网络编程-IP地址、端口号、网络字节序

    IP地址.端口号.网络字节序 本文中部分名词可见: 协议.TCP/IP模型.数据包封装与分用 一.IP地址 1. 简单认识 IP协议有两个版本:IPv4和IPv6. (1)IP地址在IP协议中,用来标 ...

  9. Linux网络编程(IP地址,端口,通信协议,网络字节序)

    网络概念 局域网,城域网,广域网:根据覆盖范围进行的网络划分 互联网(因特网):国际性更大范围的广域网 以太网,令牌环网:组网方式 IP地址 IP地址,是用来标识网络中不同主机地址(每一台主机的唯一标 ...

最新文章

  1. tp5某个字段相同的数据只取一次_多维分析数据仓库建设建议-面向主题的建模...
  2. glance-50(秒解秒懂)
  3. python准备_python环境准备
  4. 百度数据挖掘研发工程师实习笔试面试
  5. python导入函数模块 为什么会打印两次_5.1.2Python从模块导入函数
  6. python项目“内存泄漏”的调试过程
  7. Ubuntu安装python3虚拟环境
  8. 保险公司在线签名 html5,html5手写签名
  9. Vue webapp项目通过HBulider打包原生APP
  10. 基于皮尔森相关系数的协同过滤算法
  11. 数据抽取常见的几种模式
  12. typescript入门练手小demo
  13. 干部身份、三方协议、派遣证(转)
  14. 当当网张亮:Sharding-JDBC 未来将更加多样化
  15. 电子邮件接受服务器的端口是,qq电子邮件服务器是什么?端口多少?安全类型是什么?路径前缀是什...
  16. 安卓苹果下载地址合并 苹果安卓专用二维码是如何生成的
  17. python字符串处理编程实例_Python字符串处理实例详解
  18. Mybatis核心配置文件
  19. C++中相对路径与绝对路径以及斜杠与反斜杠的区别
  20. android环信群聊显名称,Android环信群聊插入头像和昵称

热门文章

  1. 自定义地图开发(一)
  2. 黑马程序员--里氏转换
  3. hdu 1421 搬寝室 动态规划
  4. 浅谈三角带的使用及其分类
  5. [转载] 杜拉拉升职记——53 自由自在地活
  6. (转)页面滚动条(scrollbar)颜色设置详解
  7. OLTP v.s. OLAP
  8. flag push tcp 作用_TCP协议超详细解析及攻击/防范
  9. Java面向对象之object类自带的方法解析(equals与==、toString方法、instanceof方法、参数传递问题)
  10. mysql库与oracle库的区别_开源数据库Oracle与MySQL的SQL语法区别