网络
文章平均质量分 79
楠之枫雪
简单的一个人
展开
-
(转载)Netty 防止内存泄漏措施
背景直播平台内存泄漏问题:某直播平台,一些网红的直播间在业务高峰期,会有 10W+ 的粉丝接入,如果瞬间发生大量客户端连接掉线、或者一些客户端网络比较慢,发现基于 Netty构建的服务端内存会飙升,发生内存泄漏(OOM),导致直播卡顿、或者客户端接收不到服务端推送的消息,用户体验受到很大影响。问题分析首先对 GC 数据进行分析,发现老年代已满,发生多次 Full GC,耗时达 3 分多,系统已经无法正常运行(示例):Dump 内存堆栈进行分析,发现大量的发送任务堆积,导致内存溢出(示例):转载 2020-06-08 20:06:52 · 520 阅读 · 0 评论 -
基于Netty的IOT通信测试篇
模拟登录并发操作:测试,发登录,并延时30ms发送1000字符串,服务器把字符串返回操作系统:i3-4150 12GB记录:终端个数返回耗时结论204秒较好502秒较好1003秒较好15020秒较好结论:该操作模拟并发,连接个数在一定范围内,并发数据能较好处理,如100个连接终端内,延时较短。当终端并发个数较多情况下,并发数据堆积在队列里等待执行。表现为客户端延时较大收到服务器返回的数据。优化建议:可以减小并发的情况,正常来说如登录并发原创 2020-06-08 17:36:32 · 528 阅读 · 0 评论 -
Netty客户端发送数据服务器端接收不到的问题记录
写了个简单出例子测试,客户端发送数据,服务器端死收不到,结果发现,客户端发送时,最终发送出去的格式应该是ByteBuf格式才行,修改如下:channel.writeAndFlush(Unpooled.buffer().writeBytes(data.getBytes()));问题不大,就是想不到有点恶心人!...原创 2020-05-20 19:52:14 · 6139 阅读 · 6 评论 -
Netty基础知识
1.Channel、 EventLoop 和 ChannelFuture的关系EventLoop 定义了 Netty 的核心抽象, 用于处理连接的生命周期中所发生的事件一个 EventLoopGroup 包含一个或者多个 EventLoop一个 EventLoop 在它的生命周期内只和一个 Thread 绑定所有由 EventLoop 处理的 I/O 事件都将在它专有的 Thread ...原创 2019-12-17 20:29:08 · 284 阅读 · 1 评论 -
Netty4客户端使用遇到的坑笔记
1.注意ChannelPipeline中handler的调用顺序。完整的发送与接收过程,是先发送再接收,所以是先执行out再执行in。具体参考https://blog.csdn.net/u014614038/article/details/804879422.发送数据转码,通过MessageToByteEncoder,比如我使用的是SMessage格式数据:public class S...原创 2018-05-29 16:05:05 · 4056 阅读 · 0 评论 -
Netty4channelhandler执行顺序、事件传递过程
An inbound event is handled by the inbound handlers in the bottom-up direction as shown on the left side of the diagram. An inbound handler usually handles the inbound data generated by the I/O thre...原创 2018-05-28 20:11:02 · 3236 阅读 · 0 评论 -
Netty客户端学习使用整理,Netty使用教程
一、客户端如何建立连接并监听与发送数据下面的代码例子教你如何建立与服务器的连接并发送与接收数据。1.服务器代码。我这里的服务器代码是基于原生的serverSocket,每建立一个客户端连接会启动一个线程去读取与发送数据。import java.io.*;import java.net.*;public class SocketServer { public static ...原创 2018-05-10 15:43:43 · 1423 阅读 · 0 评论 -
长连接通信之服务器端与Android端使用ssl验证
折腾了好久,最后发送Android端也是能使用pfx格式的证书的,一直以为用不了,服务器端是c#或者netty。证书准备:服务器端用到的是server.pfx+ca.pfx客户端用到的是client.pfx+ca.pfx服务器端与Android端都是使用netty获取sslcontexpublic SSLContext getClientSSLContext(){ try { SSLContext sslContext;原创 2020-06-06 16:50:37 · 452 阅读 · 0 评论 -
openssl 生成免费证书
流程一般证书是证书机构(ca)签发的,如申请域名后一般会有一个证书,一般是收费的。如果使用openssl生成免费的服务器端与客户端证书的话,步骤流程如下:1、生成ca证书2、生成服务器端证书签发申请文件(csr文件),并用ca证书签发,生成服务器端证书crt文件3、生成客户端证书签发申请文件(csr文件),并用ca证书签发,生成客户端端证书crt文件准备工作下载安装openssl,并配置环境变量【下载】操作过程生成ca证书生成根证书私钥(key文件)genrsa -des3 -原创 2020-06-06 16:30:37 · 1790 阅读 · 1 评论 -
ssl证书相关知识
证书文件格式xx.crt:证书文件xx.key:私钥文件xx.req:请求文件xx.csr:请求文件xx.pem:证书文件为 pem 格式(文本文件)xx.der:证书文件为 der 格式(二进制文件)xxx.pfx :iis需要的证书xxx.jks:java常见的证书类型xxx.kbs :Android使用的证书类型KEY 通常指私钥。CSR 是 Certificate Signing Request 的缩写,即证书签名请求,这不是证书,只是包含申请证书的基本信息。生成证书时要把原创 2020-06-06 15:21:40 · 803 阅读 · 0 评论 -
windows不能使用远程桌面解决办法
1.远程是否允许开启了计算机–属性–高级系统设置2.远程服务是否开启计算机–管理—服务和应用程序–服务3.防火墙是否关闭或者是否允许远程桌面了4.本地策略组是否是正确运行gpedit.msc,windows设置–安全策略–本地策略–安全选项注意,如果是入域的话,本地策略组是使用域的策略,导致无法编辑。这也是我遇到导致不能远程的情况,比较隐蔽...原创 2020-08-07 10:00:05 · 5614 阅读 · 0 评论 -
路由器相关知识
路由器的作用路由器是一种连接多个网络或者网段的设备,它能将不同的网络或者网段之间的数据进行翻译,使它们可以互相读懂对方的数据,从而构成更大的网络。它是应用于不同网段或者不同网络之间的设备。路由器的优点路由器端口的设置局域网内的主机,如果子网掩码相同,那么它们的网络号也相同,它们的网络属于ip子网,它们是可以直接通信的,不同的ip子网的主机要进行通信必须使用路由器或者网关。路由器有多个端口,用于连接多个ip子网,每个端口的ip地址的网络号要与所连接的ip子网的网络号要保持一致才行,比如一个端口连接原创 2020-06-12 21:13:52 · 613 阅读 · 0 评论 -
网络基础
ping命令与tracert命令ping命令的TTL值TTL值为64,一般说明对面设备是linux系统,如果为128为windows系统,为255说明为路由器。当前为63,说明经过了一个路由器。tracert用于查找经过了哪些路由器:osi七层模型物理层完成节点之间比特流bit的传输。主要设备是中继器与集线器。中继器:双绞线的有效传输距离是100米,超过了就会衰减,需要中继器对信号进行放大。集线器:类似多个端口的中继器。目前基本很少集线器了,有很多不足。**实现节点bit传输的原理:原创 2020-06-12 19:52:48 · 300 阅读 · 0 评论 -
http权威指南笔记
URL1.Url语法通用格式<scheme>://<user>:<password>@<host&am原创 2018-05-14 11:50:22 · 165 阅读 · 0 评论 -
Java UDP 广播、组播使用
1.UDP广播。 客户端开启一个端口监听数据,服务器端指定该端口发送数据,客户端即可收到数据,服务器绑定的广播地址为255.255.255.255客户端监听:public class BroadcastClient { private int MessageIndex = 0; private int port = 6787;//数据监听绑定端口 privat...原创 2018-05-17 11:26:06 · 5002 阅读 · 12 评论 -
UDP广播中的直接广播与本地广播区别
本地广播: 地址就是255.255.255.255,它不经路由转发,发送本地网络下的所有主机,只能在局域网内转发,主要是不用知道目标主机的掩码与网络地址,本地转发同一网段的主机。* 直接广播:* 计算方法通过主机的掩码与网络地址计算出来。掩码最后为0的位为主机位。掩码与网络地址相与,然后主机位全变为1,就是直接广播地址。这样改网络地址下的所有主机都能接收到广播。两者的区别就是,本地广播在...原创 2018-05-10 17:03:16 · 10416 阅读 · 4 评论