wisock寻址
时间:2022-04-22
本文章向大家介绍wisock寻址,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
winsock第一个版本使用sockaddr来强迫使用特定的寻址方式,这样添加其他的协议就不可能了
1 struct sockaddr
2 {
3 u_short sa_family;//地址家族
4 char sa_data[14];//不同的地址家族,不同
5 };
在winscok中 应用程序通过SOCKADDR_IN结构来指定IP地址和端口号
1 struct scockaddr_in{
2 short sin_family;//地址家族
3 u_short sin_port;//端口号
4 struct in_addr sin_addr;//IP地址
5 char sin_zero[8];//空字节 设为0
6 };
端口号:
0 - 1023 :由IANA管理,保留为公共的服务还用
1023 - 49151 : 是普通的用户注册端口号,由IANA列出
49152 - 65535 : 动态/私有的端口号
普通用户应用程序应该选择:1024-49151
自由使用:49 152 - 65 535
sin_addr中描述IP地址:
结构定义如下:
struct in_addr{
union{
struct{u_char s_b1,s_b2,s_b3,s_b4;} S_un_b;
struct{u_short s_w1,sw_2;}S_un_w;
u_long S_addr;
}S_un;
};
32位与aa.bb.cc.dd之间的转换,可以通过下面函数完成
unsinged long inet_addr(const char*cp);//aa.bb.cc.dd 转为成为 32位二进制
char * inet_ntoa(struct in_addr in);//将32位二进制 转化成为 aa.bb.cc.dd
字节顺序: Intel x86使用小尾顺序
TCP/IP统一规定使用 大尾方式 传输数据
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
- git review报错一例
- Nginx采用https加密访问后出现的问题
- 对比git rm和rm的使用区别
- Gerrit日常操作命令收集
- 轻型的ORM类Dapper
- [原创]Gerrit中文乱码问题解决方案分享
- 获奖案例:国航&百度“微笑启航”AI主题航班
- MySQL高可用架构-MMM环境部署记录
- Silverlight之ListBox/Style学习笔记--ListBox版的图片轮换广告
- MySQL高可用架构-MHA环境部署记录
- 分布式监控系统Zabbix-3.0.3-完整安装记录 - 添加shell脚本监控
- Flash/Flex学习笔记(52):使用TweenLite
- 设计一个界面,很简单!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php根据命令行参数生成配置文件详解
- PHP使用SOAP调用API操作示例
- 使用Zookeeper分布式部署PHP应用程序
- pytorch判断是否cuda 判断变量类型方式
- Keras搭建自编码器操作
- python程序如何进行保存
- Android Q之气泡弹窗的实现示例
- Python with语句用法原理详解
- pytorch 计算ConvTranspose1d输出特征大小方式
- Keras中 ImageDataGenerator函数的参数用法
- CI框架网页缓存简单用法分析
- 掌握PHP垃圾回收机制详解
- PHP基于面向对象封装的分页类示例
- PHP获取对象属性的三种方法实例分析
- PHP7内核之Reference详解