socket 收不到16进制 数据_UDP编程-套接字(socket)
#千锋逆战班,计算机网络#
********************************命运从不偏袒任何人**********************************
却会垂怜认真生活的人,对未来的真正慷慨,是把一切献给现在,总有一天,你会惊艳时光
****************************即无人能替,又光芒万丈******************************
今天是在千锋逆战班学习计算机网络的第二天,学习了字节序的转换、点分十进制字符串和网络大端数据的转换、udp的简单编程,下面分享一下今天的学习
1、字节序
一般我们个人的电脑默认都是小端存储的,一些大的服务器和网络上的数据都是大端存储的,如果我们要发送数据到网络上就需要考虑到大小端的转换,转换我们需要用到的函数有如下几种:
(1) htonl函数
uint32_t htonl(uint32_t hostint32);
功能:
将32位主机字节序数据转换成网络字节序数据
参数:
hostint32:待转换的32位主机字节序数据
返回值:
成功:返回网络字节序的值
头文件:
#include <arpa/inet.h>
(2) htons函数
uint16_t htons(uint16_t hostint16);
功能:
将16位主机字节序数据转换成网络字节序数据
参数:
uint16_t:unsigned short int
hostint16:待转换的16位主机字节序数据
返回值:
成功:返回网络字节序的值
头文件:
#include <arpa/inet.h>
(3)ntohl函数
uint32_t ntohl(uint32_t netint32);
功能:
将32位网络字节序数据转换成主机字节序数据
参数:
uint32_t: unsigned int
netint32:待转换的32位网络字节序数据
返回值:
成功:返回主机字节序的值
头文件:
#include <arpa/inet.h>
(4) ntohs函数
uint16_t ntohs(uint16_t netint16);
功能:
将16位网络字节序数据转换成主机字节序数据
参数:
uint16_t: unsigned short int
netint16:待转换的16位网络字节序数据
返回值:
成功:返回主机字节序的值
头文件:
#include <arpa/inet.h>
2、点分十进制字符串和网络大端数据的转换
转换函数有:
(1)#include <arpa/inet.h>
int inet_pton(int af, const char *src, void *dst);
功能:
将一个点分十进串转为32位的大端数据
参数:
af: 协议 AF_INET (ipv4)
src: 待转的点分十进制串
dst: 保存32位大端数据的地址
返回值:
成功返回1 0 和-1 都是失败
(2)#include <arpa/inet.h>
const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
函数功能:
将网络4字节的大端数据转为点分十进制串
参数:
af: 协议 AF_INET (ipv4)
src: 待转的32位大端数据
dst:保存点分十进制串的地址
size:dst指向那块空间的大小
成功:则返回字符串的首地址
失败:返回NULL
3、udp的简单编程
udp编程,我们需要用到套接字socket,socket的作用是提供不同主机上的进程之间的通信
下面提供一个简单案例
socket 收不到16进制 数据_UDP编程-套接字(socket)相关推荐
- linux socket接收不到16进制数据,C下通过socket收发十六进制数据解决办法
C下通过socket收发十六进制数据 系统是在LINUX下,下位机发送十六进制数据过来 上位机怎么解析 把数据以十六进制的形式显示出来,发送十六进制又如何实现 ------解决方案---------- ...
- php接收16进制数据,PHP_PHP 通过Socket收发十六进制数据的实现代码,最近在php下做关于Socket通讯的 - phpStudy...
$sendStr = '30 32 30 34 03 30 33'; // 16进制数据 $sendStrArray = str_split(str_replace(' ', '', $sendSt ...
- python socket发送16进制数据_python socket以16进制的数据进行传递与解析
参考:http://m.blog.csdn.net/blog/JasonQue/8256424 具体的struct模块的解释可以参照上面的链接. struct.pack也就是将数据按照二进制的格式进行 ...
- java socket发送16进制_JavaSocket短连接实现分别接收字符串和16进制数据
做个笔记,在接收16进制数据的时候乱码了.原因是Socket在接收数据的时候需要根据不同的数据定义不同的接收方式,也就是约定好传输协议(具体体现在后面服务端接收16进制那里). 字符串的发送接收 字符 ...
- python socket发送16进制数据_Python UDP Socket 16进制数据发送
注:此篇文章首次发表于我的一篇CSDN博客里边,现转载于此. 今天琢磨了一下Python UDP Socket 16进制数据发送. 原以为UDP发送和接受的都是字符,怎么能够发送16进制?但细想,其实 ...
- python3.6串口编程实例_Python3 串口接收与发送16进制数据包的实例
Python3 串口接收与发送16进制数据包的实例 如下所示: import serial import string import binascii s=serial.Serial('com4',9 ...
- [工具]-C语言中字符串的形式打印16进制数据
C语言中字符串的形式打印16进制数据. 这样写,输出更直观些 #define PRINT_BUF_MAX (32) #define TAG_STRING_MAX (32) static void pr ...
- java串口发送16进制数据_MFC串口通信发送16进制数据的方法
本文实例为大家分享了MFC串口通信发送16进制数据的具体代码,供大家参考,具体内容如下 MFC串口通信会使用m_mscomm控件. 发送数据一般是在edit control 里输入自己想发送的内容,然 ...
- python 输出\xhh格式的16进制数据(改2)
温馨提示:标题解决方案请浏览后面部分,傻吊网友请按顺序浏览 启蒙(转载)自:https://blog.csdn.net/dengzhaoqun/article/details/8923259 顺带st ...
最新文章
- UVA 11383 Golden Tiger Claw 金虎爪(KM算法)
- UNCTF2020 | Web Wp
- [linux] shell脚本编程-统计日志文件中的设备号发通知邮件
- C语言学习及应用笔记之六:C语言extern关键字及其使用
- C++学习笔记-类定义的注意事项和C#的区别
- android 下载视频文件怎么打开,安卓手机支付宝文件夹下的视频文件是什么
- 计算工资底薪加提成的java_月工资如何计算我是做服务行业,底薪2200全勤100加提成5 - 找法网(findlaw.cn)...
- leetcode第一刷_Count and Say
- 寿光农商行计算机机房,寿光农村商业银行:新系统上线前奏——培训
- Python爬虫 | Selenium爬取当当畅销图书排行
- JAVA一个汉字占多少字节,一个字母占多少字节
- 小白如何从零开始运营微信公众号?
- 狂神Springboot笔记
- Mac 编译 llvm / mlir
- ORACLE EBS常用表及查询语句(二)
- android开发——RecycleView
- 巧用千寻位置GNSS软件|逐点放样应用技巧
- 用python实现过滤存在大部分空白背景的图片
- OpenCV实践小项目(二) -文档ocr扫描识别
- 移远BC35-G模组通过LWM2M协议接入OneNet教程
热门文章
- 语言 高速公路超速处罚_880关注 拆除!高速公路不合理限速标志!
- c语言 函数 收集,c语言库函数大全--资料收集+
- [Unity脚本运行时更新]C#4新特性
- OpenShift 4.6 新特性 - 用 Windows MachineConfig Operator 管理 Windows Container
- SonarQube 8.4 发布,分析时间最多可减少 80%
- C#中具有进程间通信的Singleton应用程序
- 人工生命 2.0.2 更新,模拟体全息存贮的模式识别
- Visual Studio 2019 16.3 Preview 3 发布,使用 IntelliCode 重构更容易
- 实时 Git,在版本控制之前控制源码
- TypeScript 官方决定全面采用 ESLint