Wesley13 Wesley13
3年前
java.io.EOFException   at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer
如题,网上找了相关资料查明是websocket连接超时的问题。使用了反向代理,因此超过60S没有数据传输的连接会断开。把代理的那个超时时间设置长一点,无限长。你开什么玩笑!那还代理个啥玩意。解决方法一:后台写个定时程序每<60s频率给前端的socket发个消息就好了。importorg.springframework.context.a
Wesley13 Wesley13
3年前
TCP协议粘包问题详解
TCP协议粘包问题详解前言在本章节中,我们将探讨TCP协议基于流式传输的最大一个问题,即粘包问题。本章主要介绍TCP粘包的原理与其三种解决粘包的方案。并且还会介绍为什么UDP协议不会产生粘包。基于TCP协议的socket实现远程命令输入我们准备做一个可以在Clie
Stella981 Stella981
3年前
Netty
nettysocketio概述nettysocketio是一个开源的Socket.io服务器端的一个java的实现,它基于Netty框架,可用于服务端推送消息给客户端。说到服务端推送技术,一般会涉及WebSocket,WebSocket是HTML5最新提出的规范,虽然主流浏览器都已经支持,但仍然可能有不兼容的
Wesley13 Wesley13
3年前
udp之关于linux udp收发包缓冲区大小
1、修订单个socket的缓冲区大小:通过setsockopt使用SO\_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem\_max进行对比校验,但是如果设置的大小超过rmem\_max的话,则超过rmem\_max的部分不会生效;2、修订linux系统udp缓冲区大小:通过rmem\_max来设置系统中udp缓存的上限,该值可通过如下方
Wesley13 Wesley13
3年前
HTML5实现一对一视频聊天
相关技术栈对于移动端来说,大多是视频聊天功能都是采用的Native端的代码来实现,这种方式性能好,兼容性强但是开发成本也会高一些,那么本文就来介绍一下采用纯H5的方式来实现视频聊天功能。1.WebRTC2.Socket.io3.Node.js项目截图:体验地址:https://app.nihaoshij
Wesley13 Wesley13
3年前
gRPC学习以及实践
相信大家都听过RPC、HTTP、Socket等协议,他们均可用于业务中来进行数据通信,又根据各自协议的特点,应用场景也比较多样、复杂,那大家是否听过或者了解gRPC呢?用来做什么呢?我们就来了解一下gRPC以及其用途。介绍用官方网站1一句话介绍介绍gRPCAhighperformance,opensourceunivers
Wesley13 Wesley13
3年前
NODE.JS & HTML5 聊天室
最近学习了一下HTML5node.js,一边学习一边做例子。用node.js制作Server端,提供http&webSocket服务,其中webSocket使用的是socket.io前台采用的是静态的html页面,用html5的一些新功能实现聊天室的界面。聊天室支持文本和手绘两种功能,整体功能很简单,
Wesley13 Wesley13
3年前
JAVA NIO与IO简单对比
NIO和IONIO的四个关键数据类型1.Buffer:它包含数据且用于读写的线性表结构,还提供一个特殊类用于内存映射的I/O操作。2.Charset:提供Unicode字符串映射到字节序列以及逆映射的操作。3.Channels:包含socket,file和pip三种,是一种双向交通的通道。4.
Stella981 Stella981
3年前
Lua 中避免低效解析 TCP 网络数据包体的一种方式(续)
上一篇(https://my.oschina.net/iirecord/blog/4497926)避免通过拼接字符串作为接收数据的缓冲区,解决办法是通过一个Lua模块来获取接收后的完整数据,若没有完整数据则读取socket,若还没有完整数据则sleep一小会儿,然后再尝试。了解过Lua或用过skynet可知,使用coroutine
Stella981 Stella981
3年前
Go实现基于WebSocket的弹幕服务
拉模式和推模式拉模式1、数据更新频率低,则大多数请求是无效的2、在线用户量多,则服务端的查询负载高3、定时轮询拉取,实时性低推模式1、仅在数据更新时才需要推送2、需要维护大量的在线长连接3、数据更新后可以立即推送基于webSocket推送1、浏览器支持的socket编