网络与无线通信
qiuchangyong
这个作者很懒,什么都没留下…
展开
-
cloudflare 泛播 原理
首先,它可以将用户的请求路由到最近的服务器节点,从而减少访问延迟。总体而言,Cloudflare的泛播技术是一种高效的网络流量路由技术,可以提高网站的性能、可用性和安全性。它通过将用户的请求路由到最近的服务器节点,减少访问延迟,并分散流量负载,提高网站的可扩展性。首先,由于节点之间的网络延迟和带宽限制,节点之间的数据同步可能会导致一定的延迟。本地DNS服务器会查询Cloudflare的全球负载均衡系统,该系统会根据用户的位置信息和服务器节点的负载情况选择最佳的节点,然后将请求转发到该节点。转载 2023-12-13 23:57:47 · 7460 阅读 · 1 评论 -
IPPROTO_UDP是在哪个头文件里定义的?
答案是位于/usr/include/netinet/in.h之中,在代码里包含头文件即可。#include <netinet/in.h>原创 2021-09-22 10:22:38 · 2251 阅读 · 0 评论 -
GB/T28181—2016事件订阅/通知消息示范
J.18 事件订阅消息示范 J.18.1 SUBSCRIBEsip:事件源编码@事件源域名或IP地址 SIP/2.0 Via:SIP/2.0/UDP 事件观察者域名或IP地址 183 GB/T28181—2016Max-Forwards:70 From:显示名;tag=BK32B1U8DKDrB To:显示名 Call-ID:17250 CSeq:1SUBSCRIBE Expires:90 Event:presence Content-type:Application/MANSCDP+XML Content原创 2021-06-02 11:29:52 · 686 阅读 · 0 评论 -
海康大华网络摄像机搜索工具
在配置网络摄像机时,需要一个工具可以搜索到在线的网络摄像机,海康和大华各有一套,海康的叫SADPTool,大华的叫SmartPSS。为什么可以搜索到连接到路由器上的网络摄像机,其原理是利用多播,如果网络摄像机的ip所在网段和查询软件所在的网段不在一个网段的话,使用udp单播和tcp都不能通信,这个时候多播就派上用场了,网络摄像机在某个固定的端口上接收多播查询。...原创 2021-05-16 12:05:04 · 4883 阅读 · 1 评论 -
卫星定位为什么至少需要四颗呢?
根据三球交汇定点的原理,用户终端通过无源接收卫星信息,并根据时差自行计算到卫星的距离,根据三维的距离公式,依靠3个方程得到用户终端的位置信息,原理上使用3颗卫星可达到定位的目的。但是,卫星时钟和用户终端使用的时钟不同步,无法通过时差来精确计算距离,故需要第4颗卫星来进行钟差的解算,再根据计算出的三维位置进一步换算为经纬度和海拔高度。具体实现技术可以参考专业书籍。...转载 2021-03-29 09:41:23 · 3437 阅读 · 0 评论 -
网页资源路径中的/和//区别
资源路径以“/”开始,表示资源路径从根目录开始,这是绝对路径。资源路径以“./”或者直接文件名开始,表示资源路径相对于当前目录,这是相对路径。资源路径以“../”开始,表示这是相对路径上一级目录,这是相对路径。资源路径以“//”开始,表示这是从http:/https:之后开始,这样的好处是不需要区分http还是https,如果一个网站放在https下,为了安全,原来的http开始的资源地址就要改成https开始的,而网站放到http而不是https下,原来的https开始的资源地址又要改为htt原创 2021-03-21 14:54:46 · 490 阅读 · 0 评论 -
使用Windows自带的curl遇到的一个问题
下面这个curl命令是post一个json到web服务端:curl "http://localhost:8080/api/authenticate" -X POST -H "Content-Type: application/json" -d '{"username": "admin", "password": "admin"}'这个使用linux下的curl运行是没有问题的,但使用Windows自带的curl运行时,经过抓包分析发现,它会改变发送的内容,比如这里想要发送一个json,它却自作聪明原创 2020-12-04 18:05:15 · 2238 阅读 · 0 评论 -
启用windows防火墙的专用网络,导致ping不通
今天发现使用同处一个局域网的一台电脑ping另一台电脑,却ping不通,原因就是启用了专用网络,专用网络就是局域网范围内的,公用网络则是指外网。为了内网的测试,需要关闭防火墙的专用网络就可以了。...原创 2020-12-04 17:30:59 · 914 阅读 · 0 评论 -
golang 设置 http response 响应头与坑
正文1、 设置WriteHeader的顺序问题之前遇到个问题,在一段代码中这样设置WriteHeader,最后在header中取Name时怎么也取不到。w.WriteHeader(201)w.Header().Set("Name", "my name is smallsoup")用 golang 写 http server 时,可以很方便可通过 w.Header.Set(k, v) 来设置 http response 中 header 的内容。但是需要特别注意的是:某些时候不仅要修改转载 2020-12-02 12:10:46 · 1126 阅读 · 0 评论 -
网页websocket一个经典的例子
这个例子来自于\tomcat\webapps\examples\websocket\echo.xhtml源码如下:<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with原创 2020-11-16 12:58:07 · 508 阅读 · 0 评论 -
The WebSocket Protocol
转自https://tools.ietf.org/html/rfc6455Internet Engineering Task Force (IETF) I. FetteRequest for Comments: 6455 Google, Inc.Category: Standards Track A. Melnik.转载 2020-11-11 23:27:08 · 2405 阅读 · 0 评论 -
HTTP中application/x-www-form-urlencoded字符说明
一、概述在学习ajax的时候,如果用post请求,需要设置如下代码。ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");虽然知道需要这么做,但是不知道application/x-www-form-urlencoded表示什么意思。于是百度学习了下。二、Form表单语法在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型转载 2020-08-12 19:16:41 · 246 阅读 · 0 评论 -
高级轮询技术——/dev/poll接口与kqueue
写在转载之前的:在nginx源码src/event/ngx_event.h中涉及了好几种网络模型:windows selectwindows IOCPselectpollepolldevpollkqueueeventport废弃的:glibc aiortsig可以说不同的系统,使用的方式不尽相同,是时候该对它们总结一下了。以下是转载内容:这里介绍两种机制,它们跟select和poll这两个函数具备类似的特性。/dev/poll接口Solaris上名为/dev/转载 2020-06-27 02:00:53 · 524 阅读 · 0 评论 -
webrtc中的AsyncResolver使用
连接远程服务时,如果没有直接提供ip,就需要使用gethostbyname或者getaddrinfo来解析出ip地址,这一过程需要dns访问,是阻塞的。在webrtc的例子peer_connection_client.cc代码中,给出了使用rtc::AsyncResolver获取ip地址的方法,值得效仿。void PeerConnectionClient::Connect(const std::string& server,原创 2020-06-27 01:28:18 · 641 阅读 · 0 评论 -
Windows IOCP模型与Linux EPOLL模块之比较
一:IOCP和Epoll之间的异同。异:1:IOCP是WINDOWS系统下使用。Epoll是Linux系统下使用。2:IOCP是IO操作完毕之后,通过Get函数获得一个完成的事件通知。Epoll是当你希望进行一个IO操作时,向Epoll查询是否可读或者可写,若处于可读或可写状态后,Epoll会通过epoll_wait进行通知。3:IOCP封装了异步的消息事件的通知机制,同时封装了部分IO操作。但Epoll仅仅封装了一个异步事件的通知机制,并不负责IO读写操作。Epoll保持了事件通知和IO操作间的转载 2020-06-26 20:53:37 · 206 阅读 · 0 评论 -
3GPP是个什么组织 为啥5G标准离不开它
3GPP一直以来在人们心中是一个神秘的组织,很多用户对于它的理解和认知,说不清,道不明。最近关于5G网络的诸多报道,都陈述了“5G网络”的标准是由“3GPP”来规定的,那么它到底是个怎样的组织?我也不卖关子了,一同揭晓它神秘的面纱。“3GPP”组织建立的来龙去脉上世纪80年代,电话开始普及使用,人们仅仅使用的是模拟、仅限语音的蜂窝电话标准,被称为“第一代移动通讯技术”,也叫“1G”,代表设备是大哥大,只能打电话。1G网络时期的手机(图片引自阿里巴巴咨询画报)人们在传...转载 2020-06-13 17:19:35 · 1635 阅读 · 0 评论 -
验证google webrtc服务器demo(apprtc)使用的turn/stun服务器
先说以下如何获得REST API编写的ICE Servers获取方法:curl -d "key=AIzaSyA2WoxRAjLTwrD7upuk9N2qdlcOch3D2wU" https://networktraversal.googleapis.com/v1alpha/iceconfig --referer https://appr.tc/返回一个json:{ "lifetimeDuration": "86400s", "iceServers": [ { "url...原创 2020-05-28 12:45:24 · 2026 阅读 · 0 评论 -
Introduction to libjingle
libjingle is a collection of open-source C++ code and sample applications that enables you to build a peer-to-peer application. The code handles creating a network connection (through NAT and firewall devices, relay servers, and proxies), negotiating sessi转载 2020-05-28 00:07:32 · 269 阅读 · 0 评论 -
http post参数传递的两种方式
首先说一下http请求,包括三部分:请求行,请求头,请求体(http post有,http get没有)。发送请求到http server的时候,这三部分里面都可以传递参数。通常我们不考虑请求头里传递参数,这也不标准。http get请求只能通过请求行来传递参数,即通过"?user=abc&pwd=123"这样的形式,通过浏览器访问,容易被看见,而且长度也受到限制。所以才有了http post请求,在请求体里面带参数,参数的形式就很多样了,这里不谈。那么http post请求可不可以像http原创 2020-05-27 19:02:15 · 5201 阅读 · 0 评论 -
Windows中公用网络与专用网络的区别
当我们第一次打开一个Windows网络应用程序时,会弹出选择网络类型:专用网络,公用网络。这个的确令人费解,相信很多人都不知所措过。有的人干脆都选上,这样就避免了被防火墙挡住。这里比较误导人的是,它说专用网络,例如家庭或工作网络;公用网络,比如机场和咖啡店中的网络。有个问题让我思考,比如我连接了家里或公司的wifi无线网,难道操作系统就能判断这是个专用网络,然后程序就可以在该网络上通信吗?这把操作系统想的太智能神奇了,根本不可能判断的嘛。这需要用户手动去设置,有个“更改连接选项”供用户选择。原创 2020-05-09 10:54:43 · 57355 阅读 · 11 评论 -
Trap天线设计
什么叫Trap天线? 许多天线均可有效谐振,工作于一个以上的波段,其中一类称之为 Trap 天线。 Trap(陷波器)是由电感和电容组合而成,通常是由一个电感器和一个电容器并联连接。 当电波频率等于该并联回路的谐振频率时,该回路即呈现出很高的阻抗,可视为开路;如电波频率低于谐振频率时,回路呈感性;而电波频率高于谐振频率时,则呈容性。 一种四波段 Trap Dipole ...转载 2020-04-28 20:17:05 · 563 阅读 · 0 评论 -
电磁兼容(EMC)中的dBW和dBm概念
射频信号的发射功率通常以dBm为单位,那它代表的是什么意思?看完下面这个公式就全都明白了。,已知功率p(单位为W或mW),代入转换公式计算得到的值P的单位就是dBW或dBm。参考:https://www.21ic.com/tools/EMC/201003/54234.htm...原创 2020-04-28 18:56:00 · 554 阅读 · 0 评论 -
Linux下curl命令伪装http_referer和user-agent访问
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。一般linux系统默认都自带。最简单的用法是curl https://zhangnq.com/ ,不过可以通过添加参数伪装。user-agent,很多网站会通过这个来判断是不是机器访问。curl中可以使用--user-agent这个参数...转载 2020-03-10 20:54:58 · 7966 阅读 · 0 评论 -
如何查看AppRTC使用的iceServers
WebRTC的demo(AppRTC)提供测试网站https://appr.tc/,它返回的参数是这样的:var loadingParams = { errorMessages: [], isLoopback: false, warningMessages: [], mediaConstraints: {"audio": true, "vid...原创 2020-03-10 20:41:03 · 1143 阅读 · 0 评论 -
STUN和TURN 网络穿透技术浅析
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要其他公共服务器的中转。由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。这种技术通常称为NAT穿透(NAT Traversal)。...转载 2020-03-09 13:47:46 · 1397 阅读 · 0 评论 -
localhost 127.0.0.1和本机ip三者的区别
在大学是经常用localhost,但就是不止什么意思,于是抽了个时间仔细的研究下。网络号为127的地址根本就不是一个网络地址(因为产生的IP数据报就不会到达外部网络接口中,是不离开主机的包)当操作系统初始化本机的TCP/IP协议栈时,设置协议栈本身的IP地址为127.0.0.1(保留地址),并注入路由表。当IP层接收到目的地址为127.0.0.1(准确的说是:网络号为127的IP)的数据包...转载 2020-03-08 15:38:12 · 606 阅读 · 0 评论 -
C++ 实现websocket 简单的服务器
前言打算写一个WebSocket服务器来练练手,它是基于tcp实现的,与生俱来的优点较之http是全双工的,即服务端可主动向客户端推送数据,亦可请求响应的模式来进行数据传输WebSocket讲解网上有很多对WebSocket的格式进行了充分的讲解,我们搬来用用。参考自 https://segmentfault.com/a/1190000012948613 感谢大神!!!握手首先是...转载 2020-02-24 21:44:27 · 1539 阅读 · 0 评论 -
https原理及其安全
为什么说https是传输安全的,要完全弄清楚https的原理还是要费一番心力,但弄明白其设计的细节之后就有种豁然开朗的感觉,不得不为RSA这种非对称加密算法的发明叫绝和折服。注意,基于TLS/SSL协议的https只是保证了传输的数据不被篡改,但还是有两种可能会导致https的不安全,即:如果你用的浏览器存在中毒等不安全因素,你访问的https网站私钥泄露。所以一定要保证你的浏览器是安全的,最好不...原创 2020-02-16 22:34:02 · 196 阅读 · 0 评论 -
跨域请求的解决办法:使用Access-Control-Allow-Origin
传统的跨域请求没有好的解决方案,无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing)。IE8、Firefox 3.5 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,实现了跨域请求。在服务器响应客户端的时候,...转载 2020-01-18 11:52:14 · 802 阅读 · 0 评论 -
curl上传文件的命令
curl是开源的http上传和下载工具,通过命令行实现http操作,也可以使用其源码进行http编程,就不用重新实现http协议的接口了。网上有很多curl使用的命令行示例和基于其接口开发的示例,这里我介绍一下使用curl上传文件的命令行。上传文件使用的是POST,multipart/form-data形式,命令行示例:curl -F "file=@/home/xz/test.tar.gz...原创 2019-10-17 14:04:50 · 4474 阅读 · 0 评论 -
ESP8266 wifi模块使用
在淘宝里买了一块这个串口透传的wifi模块,用于物联网开发里把传感器采集的数据发送出去。接上usb转ttl串口的模块,发现用AT命令总是不行,串口调试工具里打不出信息,问客服,也啥都不懂。后来琢磨知道引脚接的不对,把收、发、地、3v3都接上了,这不行,还要把CH_PD接到3v3上,这一步是关键,卖家提供的资料弄错了,误人啊。波特率也就是9600,卖家也弄错了,这样的买家还能一个月跑量卖原创 2015-05-20 18:27:37 · 2272 阅读 · 0 评论 -
Linux下socket发送接收超时值的获取与设置
一、 SO_RCVTIMEO和SO_SNDTIMEO套接口选项说明 1. 这两个选项给套接字的接收和发送设置一个超时值。注意,访问函数的参数是指向timeval结构的指针。 2. 通过设置值为0秒和0微秒禁止超时。缺省情况下,两个超时都是禁止的。二、 SO_RCVTIMEO的正确使用方法1. 获取接收的超时值socklen_t optlen = sizeof...原创 2018-09-18 15:23:05 · 2775 阅读 · 0 评论 -
wireshark网络数据抓包过滤技巧
wireshark是一款非常有用的用来抓取网络数据包并分析协议的工具。对工具的运用到什么程度决定了生产力。这里谈一个最常用的情景,比如要分析两台主机之间的网络通信数据,就希望将无关的数据过滤掉。如果不进行过滤,那么多的无关的数据帧,就很不好定位到要分析的那条数据在哪里。最简单的方法就是在过滤规则里根据ip来过滤,比如你只想看到本机与123.125.114.144主机之间的数据包,就可以使用如下规则...原创 2019-04-20 16:46:36 · 1009 阅读 · 0 评论 -
静态NAT、动态NAT、PAT(端口多路复用)的配置
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和 端口多路复用OverLoad。静态转换 (Static Nat) 是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。动态转换 (Dynamic ...转载 2019-05-16 16:55:54 · 992 阅读 · 0 评论 -
怎样检测TCP/UDP端口的连通性
原文转自https://www.cnblogs.com/harvyxu/p/8590748.html1 TCP端口的连通性TC端口的连通性,一般通过telnet检测:TCP协议是面向连接的,可以直接通过telnet命令连接telnet host-ip port2 UDP端口的连通性因为公司网络防火墙一般对端口会有一些限制,通过公司网络访问外部服务器特定端口时,需要检...转载 2019-05-12 17:34:40 · 792 阅读 · 0 评论 -
浅析UDP包的网络传输
先讲一下MTU(Maximum Transmission Unit,最大传输单元)的概念,MTU一般为1500字节,这个包含的是什么?以一个Ehternet II帧为例,帧头为14个字节(目的MAC地址:6个字节,源MAC地址:6个字节的,类型:2个字节),然而这14个字节是不包含在MTU里面的。在这后面的剩下的数据长度就是受MTU限制的,长度不能超过MTU,超过就要被分包了。这后面紧跟着...原创 2019-08-25 09:24:27 · 475 阅读 · 0 评论 -
HTTP、HTTPS常用的默认端口号
端口号标识了一个主机上进行通信的不同的应用程序。1.HTTP协议代理服务器常用端口号:80/8080/3128/8081/90982.SOCKS代理协议服务器常用端口号:10803.FTP(文件传输)协议代理服务器常用端口号:214.Telnet(远程登录)协议代理服务器常用端口号:23HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)HTTPS(s...转载 2019-08-18 00:50:36 · 380 阅读 · 0 评论 -
使用libcurl发送HTTP请求的一个简单示例代码
代码简单解释设置header首先要声明header的结构体变量,然后设置对应header值,最后将其设置到curl结构体中//声明CURL *curl;struct curl_slist *headers = NULL;//赋值header值headers = curl_slist_append(headers, "Host: 0xz.sz.qcloud.com");heade...转载 2019-09-28 18:03:26 · 430 阅读 · 0 评论 -
HTTP Header消息头详解
HTTP消息头是指,在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。关于HTTP消息头 常用的HTTP请求头 常用的HTTP响应头1. 关于HTTP消息头HTTP消息头是在,客户端请求(Reque...转载 2019-09-28 18:14:39 · 405 阅读 · 0 评论 -
HC-05蓝牙模块的使用
HC-05是主从一体的蓝牙模块,所以比只能当从机的HC-6要贵点。但我只需要把它当作从机模块来使用,这里说明一下如何使用它:首先VCC,GND,TXD,RXD连接正确,VCC接5V。这个模块有一个引脚EN,我发现接到3.3V与不接都一样,上电后无法自动进入AT模式,于是不接。那如何进入AT模式,这就是HC-05与HC-06不同的地方,HC-06没有连接上时,就是AT模式,而HC-05不原创 2015-05-31 11:00:13 · 16659 阅读 · 1 评论