抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言我们日常使用 SpringBoot 已经可以轻松创建 HTTP 服务了,当然 SpringBoot 同样提供了基于注解的形式也能很方便实现 Websocket 服务。但是当我们想要更加自定义通信协议时,Java 届已经有统一主流的方式,使用 Netty ,一个韩国人开发的框架。本文将介绍如何实现使用一个端口,同时监听多种网络协议。 1. 编码实现我们使用的 HTTP 或 Websocke...

序言通常在 Windows 上查看分析 tcp 协议会使用 wireshark,但 Linux 上一般使用 tcpdump. deepin 上使用apt-get install tcpdump安装命令。如果提示权限不足,使用sudo提权。 1. tcpdump 常用的参数 参数 释义 示例 备注 host 基于 host 过滤 tcpdump host 127.0.0.1 s...

需求用 Go 实现一个固定大小的队列结构,当队列中进入新数据时判断,如果超过限制则淘汰最早的数据,使队列大小始终不超过最大限制。 1. 实现缓存代码queue.go 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758package...

前言最近用 Go 开发了 TCP 的代理服务,经过一周的洗礼,感觉有些悟道,因此决定再巩固一遍,加点料,实现服务端与客户端心跳,服务端主动踢除不活跃客户端。 1. 服务端服务端代码server.go 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253...
Go

前言对接港交所(HKEX)时,HKEX提供了一组线路,一共三条:实时(UDP)、刷新(UDP)、重传(TCP)。实时和刷新线路采用UDP协议,采用组播的方式传输,因此可以支持多个客户端接入。而UDP丢包的概率比较大,就需要发起重传,请求指定的消息包序号及消息包数量,HKEX返回这一段的消息包,但是消息包数量上限为 10000。当请求的消息包数量超过 10000 时,HKEX会通过刷新线路返回...

前言众所周知 miui 变得越来越臃肿,且广告横行被戏称为广告ui。大陆版的 miui 系统附带了小米全家桶,往往会造成手机卡顿、耗电,我 8+3G 的手机内存都有些卡。你可能觉得它不发热,那是因为小米云控,自动限制你的手机性能。当你边插电边玩王者的时候,它为了控制发热会限制帧率,画面自动限制到了 10 帧以下,这还不卡成 PPT!再说说其他版本的 miui:台湾版、俄罗斯版、欧版(EEA)...

前言市面上开源的 k8s 管理平台有不少,平时工作中用的是 Rancher2,对比 kubeSphere 后了解到,前者更适合运维操作,后者对开发友好,对比之后决定安装 kubeSphere。 1. 安装 kubeSphere从官网 找到教程,使用all in one的方式安装。 确保 DNS /etc/resolv.conf 可用,最好先关闭防火墙 安装依赖 apt-...

前言之前一直用 Hyper-v,但是管理控制台功能太少,遂决定转到 VMware 虚拟机,后续做集群、K8s等也方便管理。 1. 安装 ubuntu安装 ubuntu 并设置静态 ip。 设置镜像源:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/ -> https://mirrors.tuna.tsinghua.edu.cn/ubun...

前言Spring 为 Java 程序员开发提供了极大的便利,同时也是非常值得学习的一门框架。其内部有诸多扩展点,用好这些扩展点可以让我们的工作事半功倍,因此本文将练习一些常用的扩展点。 1. FactoryBean提起 FactoryBean,经常会被问到 FactoryBean 与 BeanFactory 的区别。BeanFactory 是 Bean 的工厂,可以帮我们生成想要的 Bean...

前言之前重构过一个基于 RabbitMQ 的多线程队列消费项目,原项目是用 Python 实现,我用 Java 重写,过程中也遇到过不少问题,一路披荆斩棘。简单记一下曾经遇到过的问题: 向 MongoDB 批量写入时会随着 MongoDB 中已存在的数据量增多而变的越来越慢。解决方法是,在 MongoDB 的官网找到了Capped Collection的介绍,其中有一段这样的描述Cappe...