解决粘包: 用前4个字节存数据的长度, 剩下的字节存数据 ( 大端和小端:数据存取和读取的顺序 16进制数:0x123456 占用3个字节 协议用4字节存数据长度 12 34 56 00 大端,高位在左边 00 56 34 12 小端 ,高位在右边) // socket_stick/proto/pr ...
分类:
其他好文 时间:
2020-07-05 13:12:37
阅读次数:
70
ninx是一个HTTP和反向代理服务器,目前很多网站都在使用nginx作为反向代理服务器。 njs是JavaScript语言的一个子集,它允许扩展nginx的功能,这点跟lua有点类似,不过采用的语言是javascript。 1. 安装nginx 要使用njs,需要安装一个nginx,这里的我使用的 ...
分类:
编程语言 时间:
2020-07-05 12:02:07
阅读次数:
78
单线程同步 使用socket传输数据 使用json序列化消息体 struct将消息编码为二进制字节串,进行网络传输 消息协议 1 // 输入 2 { 3 in: "ping", 4 params: "ireader 0" 5 } 6 7 // 输出 8 { 9 out: "pong", 10 res ...
分类:
编程语言 时间:
2020-07-05 10:54:57
阅读次数:
86
在实际的开发场景中,我们可能会遇到不同客户端需要互斥地访问某个共享资源,也就是同一时刻只允许一个客户端操作这个共享资源,为了达到这个目的,一般会采用分布式锁来解决,目前流行的分布式锁实现方式有数据库、Memcached、Redis、文件系统、ZooKeeper,因Redis高性能、部署简单被广泛采用 ...
分类:
其他好文 时间:
2020-07-04 18:31:17
阅读次数:
64
前言 NioEventLoop的run方法,是netty中最核心的方法,没有之一。在该方法中,完成了对已注册的channel上来自底层操作系统的socket事件的处理(在服务端时事件包括客户端的连接事件和读写事件,在客户端时是读写事件)、单线程任务队列的处理(服务端的注册事件、客户端的connect ...
分类:
Web程序 时间:
2020-07-04 15:01:42
阅读次数:
67
redis五大数据类型 翻译: Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超级日志,带有半径查询和流的地理空间索引。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级 ...
分类:
其他好文 时间:
2020-07-04 13:46:51
阅读次数:
80
在 Kubernetes 集群会碰到这个间歇性 5 延迟的问题,Weave works 发布了一篇博客 Racy conntrack and DNS lookup timeouts 详细介绍了问题的原因。 简单来说,由于 UDP 是无连接的,内核 netfilter 模块在处理同一个 socket ...
分类:
其他好文 时间:
2020-07-04 13:22:06
阅读次数:
84
tcp十种状态 注意: 当一端收到一个FIN,内核让read返回0来通知应用层另一端已经终止了向本端的数据传送 发送FIN通常是应用层对socket进行关闭的结果 关于tcp中time_wait状态的4个问题 time_wait是个常问的问题。tcp网络编程中最不easy理解的也是它的time_wa ...
分类:
其他好文 时间:
2020-07-04 11:41:37
阅读次数:
55
第五章 传输层 计算机网络(王道考研) 概述 功能 TCP vs UDP 寻址与端口 常用端口 Socket 两个socket组成一个TCP连接 复用与分用 复用:上层向下层发送数据 分用:接受下层返回的数据 UDP协议 UDP首部格式 UDP校验 TCP协议特点和报文段格式 特点 TCP报文段首部 ...
分类:
其他好文 时间:
2020-07-03 23:05:03
阅读次数:
83
web应用 目录 一:web应用程序是什么 二:基于socket写一个web应用 三:手撸简单web框架 一:web应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。 应用程序的分类 C/S模式:C ...
分类:
Web程序 时间:
2020-07-03 17:32:14
阅读次数:
80