- 博客(106)
- 资源 (4)
- 收藏
- 关注
原创 Error code 64 - ERROR_NETNAME_DELETED
网络连接问题有多种原因,但通常是由于网络适配器不正确、交换机设置不正确、硬件故障或驱动程序问题导致的。一些连接症状是间歇性的,不能明确指出这些原因中的任何一个。
2024-05-21 17:01:00 103
原创 使用EO和nginx之后,服务器如何获取客户端真实IP地址
X-Forwarded-For 记录着从客户端发起请求后访问过的每一个 IP 地址,第一个是发起请求的客户端本身的地址,各 IP 地址间由“英文逗号+空格”(那么,只需要获取 X-Forwarded-For 这个头,并且用逗号来拆分字符串,第一个子串就是客户端的 IP 地址。,如果是直接访问的请求,可能是客户端真实的 IP 地址,但是中间若经过了层层的代理,就是最后一层代理的 IP 地址。从字面看 X-Real-IP 代表的是客户端请求真实的 IP 地址,这个参数。
2024-05-14 16:31:11 291
原创 ERROR_CONNECTION_ABORTED 1236
意思就是,从本质来讲,无论121,还是1236,都是由于连接中断或超时而返回的错误码。
2024-05-09 17:52:02 104
原创 2SC5200 NPN Bjt 的spice模型
BF = 220+ NF = 1+ IKF = 50+ BR = 28+ NR = 1+ VAR = 10+ IKR = 2+ NC = 1.5+ RB = 0.8+ FC = 0.5+ XTF = 10+ VTF = 2+ ITF = 1+ PTF = 0+ XTB = 3+ TRC1 = 0.ENDS。
2024-05-02 20:41:24 139
原创 架设WebSocket的最后一环,如何设置好nginx反向代理
WebScoket都已经完工快一个月,经过一段时间的测试,公司还是准备把服务器换到鹅厂,用EO来解决CDN内容分发和DDOS防护问题,由于EO并不支持URL 路径转发,只支持转发到一个站点的80或则443端口,如果想做路径分发,就必须用负载均衡,这个服务并不便宜,迫不得已,我只能在服务器上用Nginx来做反向代理。我仔细观察了发生故障的时候的网络请求,一个获取版本号的URL得到了500错误,这让我很惊讶,但我很快注意到网页下面有nginx的版本号,证明这个是nginx返回的错误。
2024-04-30 13:07:50 722 2
原创 直热管灯丝的噪音
地线噪音是一方面,另一个方面就是元器件本身带来的噪音,特别是稳压管带来的雪崩噪音!之前将灯丝电路集成到板上之后,由于OPA1612是双运放,灯丝伺服电路只需要单运放就可以了,多余的运放我不忍浪费,同时出于音质效果考虑,将另外一个运放用作电子管的固偏,以取消掉阴极电阻,但是最终的效果却发现电路产生了一种固有噪音,像呼气声,沙沙声,开始不解,将几乎所有元件都换了一次,最终发现,如果给运放-输入产生偏压的电阻上增加一个电容,就可以解决这个噪音,于是分析电路发现,这个电阻的噪音来源是AZ431产生的基准电压!
2024-04-19 16:08:29 921
原创 WebSocket 对于手游的意义
因为WebScoket是HTTP协议的升级,因此,现在不少CDN服务提供商支持WebScoket,那么对于网络上常见的DDOS攻击,CC攻击,不少CDN提供商是带了DDOS,CC攻击保护的,意思就是,如果采用WebScoket+CDN的方案,面对这类网络攻击,你不需要额外花钱去买高防。但好处显而易见,通过CDN做隔离,服务器的真实IP不用暴露,所有的通讯都走CDN,一般的DDOS或则CC攻击在CDN这一层就被拦下,包括一些入侵服务器的行为,在无法得到服务器真实IP的情况下,攻击就无法实施。
2024-04-03 17:45:57 613
原创 .net 实现的 Webscoket 对象的一些细节和疑问
这两天服务器和客户端进行了webscoket的联调,在和C#的webscoket实现联调的过程中,发现一些有趣的事情。在我自己C++的实现中,webscoket对上层应用而言是完全透明的,webscoket 只是一个传输协议,用户对此不需要有任何关注,一切都自动进行,包括连接,握手升级,帧切割,帧拼合,控制帧管理,心跳这些,对外完全透明。
2024-04-03 11:19:36 1258
原创 webscoket 中的 mask 细节
我们看到,这个写的很清楚,掩码是给 payload 进行加密用的,这个位置会产生一个误解,就是,如果我没有 payload 的时候,是不是可以不需要掩码?比如一个 ping 帧,不带任何数据是否不需要mask?因此,你可以看到客户端发送到服务器的ping,实际上是带了掩码的,哪怕这个ping没有任何payload 数据。这段明确说了,客户端发送到服务器的所有帧都。有掩码,而服务器发送到客户端的所有帧都。如果违背了这个规则,就。以1002错误关闭连接。
2024-04-02 16:57:35 480
原创 聊聊websocket opcode中的text / binary模式
怎么解读帧都是应用层的事情,用什么格式来理解帧的内容,不就是subprotocol干的事情吗?这儿应该有更方便,或则说更直接的方式来处理,理清楚思路之后,我决定将opcode交给应用层来处理,应用层必须注册 subprotocol,提供具体的帧解析的接口,握手的时候,如果没有指定subprotocol,那就采用一个通用的dummy来处理帧。但这个区分并没有规定文本类型有类似于http协议中空行表示结束的说法,而且长度也是由帧头记录,也就是说,单纯从协议格式上来讲,这个区分,没有任何实际的含义。
2024-03-29 11:41:06 389
原创 websocket 内的操作码fin和opcode
在 webscoket 中,控制帧有一个限定:控制帧不允许分段(5.4. Fragmentation),意思就是,控制帧只允许作为一个完整的帧一次性发送。所以我们在处理webscoket帧的时候,如果Fin位为0,则不处理,将帧放入一个缓存,发现 Fin 位为1 的时候就可以处理帧了,根据帧的opcode来判断,如果是控制帧就直接处理,如果连续帧,就将之前缓存的帧拼接成一个完整的payload即可。其中,0,1,2是正常传输数据用的代码,8,9,A是标准的控制帧。rsv1 - 3 不用考虑,被保留的位。
2024-03-25 18:46:29 954
原创 http 协议的有效字符
qdtext:除了引号 ” 之外的TEXT (即任何 8 位字节,除开控制字符,但包括CR LF HT) quoted-pair:(反斜杠后跟 [0, 127] 范围内的任何值)。但是,实际上,几乎所有的web服务器都不会接受除了CR LF HT之外的控制字符,以及大于等于127的字符(即几乎所有不可读的字符都不在范围之内)。如果研究完协议的描述,可以看到,所有的8字节ASCII码事实上都在标准的允许之内!token:除开控制字符和分隔符的 us字符 [0, 127];
2024-03-20 16:04:43 441
原创 websocket 中 request-line 中的URI编码问题
websocket, nginx,client sent invalid request while reading client request line,
2024-03-20 11:14:09 384
原创 websocket 升级协议时的协议切换点
websocket 的 rfc6455 标准中提到了协议升级,从http协议升级到websocket协议,用的办法是在http的request header中包含Connection: upgrade 和 Upgrade: websocket 以及其他验证相关的头。但这儿有一个小问题,在rfc6455中并没有明确的提到,就是服务器在接收到http请求头之后,如何从文本格式切换到帧格式?而websocket由于是请求/响应协议升级,没有附带的payload,因此,可以确定的是,在收到。
2024-03-19 11:07:25 377
原创 Websocket 中的 sub-protocol 和 extensions 的关系
Websocket 的 Sub-protocol 和 Extensions
2024-03-15 15:13:41 625
原创 XBox One 国行解锁
④:国行Xbox开机进入主界面后插入U盘,重启主机,重启之后,打开设置 ->系统->语言和区域,如果位置改变则解锁成功。去掉文本文档的扩展名.txt,然后文本文档就变成一个空白文件,然后将该空白文件放在U盘的根目录(不要隐藏该文件)。⑤:再次重启主机,并安装字体补丁。(解锁成功后可以取下U盘)①:将主机升级到最新版的操作系统。②:将U盘格式化为NTFS格式。
2024-02-12 14:12:00 369
原创 foobar2000 突然无法正常输出DSD信号
之前一直在用foobar2000加外置dac听音乐,有一天突然发现听dsd的时候,dac面板显示输出的是PCM格式信号,而不是DSD信号,这让我觉得很奇怪,反复折腾了几次,卸载安装驱动什么的,依然如此,百思不得其解。后来无意中发现一个设置,在foobar的设置:tool -> sacd选项中,有一个output mode的选项。这一项被设置成了PCM,改成DSD之后,就解决了这个问题。
2023-11-26 10:37:21 607
原创 离散化,这个概念是谁翻译的?
离散化(discretization discipline),你可能会以为是指把一些东西分散处理,但!实际上,这个词的含义是:是把很多分散的东西,集中起来,使其变得更加容易处理。这个"集中起来,使其更加处理",可以这么理解:找出这些东西的共性,去掉这些东西的异性。或则用更哲学的语言来表示:对对象共性的抽象。离散,中文的含义就是分散,分开,模糊。
2023-04-19 18:32:41 103
原创 支付宝Alipay接入时,报错Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
用支付宝开放平台开发助手生成的私钥是PKCS8格式的,需要转换成PKCS1格式,否则调用会报这个错。把数据转成这个格式,这个错误就会消失。
2023-02-15 12:27:28 2516
原创 Unity的Socket在iOS下报10045的错。。。
这个错其实很简单,只是。。。前几天客户端的程序员告诉我,Unity在iOS机型上有个问题,Socket在息屏后,如果之前连接了服务器,再次连接就没有问题,但是如果之前没有连接服务器,尝试去连接的话,Socket就会报错10045。我仔细查了一下10045的错误信息,其实就是提示操作不支持。比如在TCP上执行UDP的操作,或则,在IPV4的协议上连接IPV6地址诸如此类的。按道理来讲,应该非常容易解决的,仔细检查一下代码应该就完事儿。我问客户端的程序,这个重新连接前,释放没有?重新初始化没有?
2022-04-28 13:07:49 330
Compositor.rar
2020-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人