记录一下项目中遇到的有关websocket延迟的问题

2023-11-01

想想就觉得好笑,事情呢是这个样子的,我们项目采用的事Spring + websocket + stomp 实现的导检功能的项目。
需要很多设备和服务器进行交互,项目在公司和其他环境部署运行都没有任何问题,也就是说从来没遇到过websocket延迟的问题。

现场现象:因为我本人不在现场,所以我知道的所有问题的描述都是来自同事,同事说websocket连接有问题,从几秒到十几分钟都有,很不稳定,而且严重影响项目功能,我说有什么异常日志吗?下面是同事给我发来的异常信息:

2022-02-17 17:37:55.962 [XNIO-1 task-123] [] [io.undertow.request] 
ERROR: UT005023: Exception handling request to /webSocketServer/847/fqxvkprb/eventsource
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.socket.sockjs.SockJsException: Uncaught failure in SockJS request, uri=http://22.47.208.215:80/webSocketServer/847/fqxvkprb/eventsource; nested exception is org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to open session; nested exception is org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to write SockJsFrame content='o'; nested exception is java.io.IOException: Broken pipe
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:497)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
	at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:45)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:39)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:58)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:111)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.web.socket.sockjs.SockJsException: Uncaught failure in SockJS request, uri=http://22.47.208.215:80/webSocketServer/847/fqxvkprb/eventsource; nested exception is org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to open session; nested exception is org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to write SockJsFrame content='o'; nested exception is java.io.IOException: Broken pipe
	at org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler.handleRequest(SockJsHttpRequestHandler.java:137)
	at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:53)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	... 59 common frames omitted
Caused by: org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to open session; nested exception is org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to write SockJsFrame content='o'; nested exception is java.io.IOException: Broken pipe
	at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.handleInitialRequest(AbstractHttpSockJsSession.java:237)
	at org.springframework.web.socket.sockjs.transport.handler.AbstractHttpSendingTransportHandler.handleRequestInternal(AbstractHttpSendingTransportHandler.java:76)
	at org.springframework.web.socket.sockjs.transport.handler.AbstractHttpSendingTransportHandler.handleRequest(AbstractHttpSendingTransportHandler.java:66)
	at org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService.handleTransportRequest(TransportHandlingSockJsService.java:316)
	at org.springframework.web.socket.sockjs.support.AbstractSockJsService.handleRequest(AbstractSockJsService.java:439)
	at org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler.handleRequest(SockJsHttpRequestHandler.java:134)
	... 63 common frames omitted
Caused by: org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to write SockJsFrame content='o'; nested exception is java.io.IOException: Broken pipe
	at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:343)
	at org.springframework.web.socket.sockjs.transport.session.StreamingSockJsSession.handleRequestInternal(StreamingSockJsSession.java:64)
	at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.handleInitialRequest(AbstractHttpSockJsSession.java:231)
	... 68 common frames omitted
Caused by: java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
	at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51)
	at sun.nio.ch.IOUtil.write(IOUtil.java:148)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504)
	at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:184)
	at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:655)
	at io.undertow.conduits.ChunkedStreamSinkConduit.doWrite(ChunkedStreamSinkConduit.java:166)
	at io.undertow.conduits.ChunkedStreamSinkConduit.write(ChunkedStreamSinkConduit.java:128)
	at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150)
	at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:240)
	at io.undertow.server.HttpServerExchange$WriteDispatchChannel.write(HttpServerExchange.java:2107)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:575)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flushInternal(ServletOutputStreamImpl.java:490)
	at io.undertow.servlet.spec.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:477)
	at io.undertow.servlet.spec.HttpServletResponseImpl.flushBuffer(HttpServletResponseImpl.java:516)
	at javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:166)
	at org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:91)
	at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.writeFrameInternal(AbstractHttpSockJsSession.java:360)
	at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:326)
	... 70 common frames omitted

说实话,以我的知识量,看到这样的日志,我的第一反应就是通信中断 的,我的第一反应就是网络有问题,让同事测现场的网络环境,跟我说没问题,这时候的我,就显得有点蒙B了。

然后就是各种排查问题呀,并发问题,socketJs版本问题,服务器问题,Nginx版本问题、配置文件,,,等等
最后发现以上问题都不是,哈哈,快崩溃了。

最后是在一边文章中找到了可能是InetAddress.getLocalHost()缓慢的问题,尝试了,果然有效果,所以还是很感谢大家对于技术和问题的分享。
附上原文地址:https://blog.csdn.net/qq_38345296/article/details/106478262?spm=1001.2014.3001.5502

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记录一下项目中遇到的有关websocket延迟的问题 的相关文章

  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 将不同类型的参数传递给 jdbctemplate 查询

    我正在尝试使用带有少量不同类型参数的 where 子句从数据库中检索记录 这是我编写的简单方法 我将breedId和性别作为参数传递 public List
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • linux创建文件的方法

    linux创建文件可以通过以下六个方式来完成 gt 标准重定向符允许我们创建一个 0KB 的空文件 touch 如果文件不存在的话 touch 命令将会创建一个 0KB 的空文件 echo 通过一个参数显示文本的某行 printf 用于显示
  • python基础学习--基础

    一 基础知识 1 1 基础语法及编码规范 1 定义变量加if Python 通常是一行写完一条语句 但如果语句很长 我们可以使用反斜杠 来实现多行语句sad total item one item two item three item f
  • 二极管(一):反向恢复时间

    一 反向恢复过程 在图1所示的二极管电路中 加入一个如图2所示的输入电压 即在 0 时间内 输入为 二极管导通 电路中有电流流过 假设二极管的正向压降为 当 远大于 时 可忽略不计 如果在 时刻 输入 突然从 变为 在理想情况下 二极管将即
  • 一文让你彻底了解Linux内核文件系统(大总结)

    一 文件系统特点 文件系统要有严格的组织形式 使得文件能够以块为单位进行存储 文件系统中也要有索引区 用来方便查找一个文件分成的多个块都存放在了什么位置 如果文件系统中有的文件是热点文件 近期经常被读取和写入 文件系统应该有缓存层 文件应该
  • 一百零八、Kettle采集Kafka数据到HDFS(踩坑,亲测有效)

    Kafka到HDFS 除了用Kafka API和flume之外 还可以用kettle 最大优点是不用写代码 版本 Kettle版本 8 2 Hadoop版本 3 1 3 前提 详情请看鄙人的一百零一 Kettle8 2 0连接Hive3 1
  • Python实现支持人机对战的五子棋软件(超详细)

    完整工程下载链接 文章目录 利用pygame实现一个支持双人对战以及人机对战的小游戏 最终效果展示 总体框架介绍 具体功能以及算法思想 一 主界面与棋盘设计 二 移位与胜负判定 三 棋型价值设计 四 人机模式和双人模式的设计 五 游戏状态
  • 使用PHPExcel实现Excel文件的导入和导出

    在之前有写过一篇文章讲述了使用 PHP快速生成excel表格文件并下载 这种方式生成Excel文件 生成速度很快 但是有缺点是 1 单纯的生成Excel文件 生成的文件没有样式 单元格属性 填充色 宽度 高度 边框颜色 不能自定义 2 生成
  • java.lang.unsatisfiedlinkerror解决方法

    有时候我们接入第三方sdk的时候 同时导入了一些so库 编译运行后发生会报以下异常 java lang unsatisfiedlinkerror 解决方法 在主工程app的build gradle中加入以下代码 作用是指定so库的位置 an
  • python自动拷贝日志

    usr bin env python import os import time import re import os from time import sleep cmd3 adb pull resources map BaiduMap
  • MacBook配置Chromedriver

    最近换了mbp 之前的项目中包含了Chromedriver 但是我不想设置path了 所以重新配置了下Chromedriver 先看自己浏览器版本 去下载对应版本的Chromedriver ChromeDriver WebDriver fo
  • php怎么接收用户字符,PHP把用户的提交cookie转成字符串

    小编这次带来的是这种cookie类型的获取方式哦 当你想获取cookie字符串时 gt 偷懒 gt 搜索引擎查询好久 gt 没找到 gt 哎 gt 无奈只能自己写啦 gt 原理 用户访问 带cookie gt 获取cookie数组 gt 获
  • 解决flink消费kafka过期数据和目前存量数据的计算(未来的方向)

    背景 目前公司业务需要统计超过7天以上的特征统计 但是kafka只存7天的数据 如果只想通过flink sql去计算30天的用户特征要求当天生效 这是完不成的 但是看到下面的分享 感觉未来的方向有了 一 2021 Apache Flink
  • mysql同时执行多条语句_让MySQL同时执行多条SQL语句的解决办法

    版权声明 本文为博主原创文章 未经博主允许不得转载 最近做一个MySQL方面的东西发现了这个问题 就是在一个Statement中执行一条SQL语句的时候可以正确执行 如果同时执行多条 就会报SQL语法错误 伤透了脑筋 经过网上查找 发现有两
  • 纯电阻电路中的等效变换

    目录 1 电阻的串并联等效 1 串联 2 并联 2 Y形联结和 形联结的等效变换 1 Y gt 2 gt Y 3 实际电源的两种模型及其等效变换 1 实际电压源模型 2 实际电流源模型 3 两种模型间的等效变换 4 受控源的等效 等效的核心
  • 虚拟机安装服务器2008,VMware Workstation 虚拟机安装64位windows 2008 R2 系统

    偶看现在使用的电脑是 惠普 康柏 Elite 8300 MT Mini Tower 操作系统 Windows 7 旗舰版 64位 基本硬件展示 处理器 英特尔 第三代酷睿 i5 3470 3 20GHz 四核 主板 惠普 3397 内存 8
  • Java基础(03)——Java语法结构(顺序与选择结构)

    Java中的语法结构 版权声明 Java中的语法结构 1 顺序结构 2 选择结构 1 简单的if语句 2 if else 语句 3 多分支if语句 4 switch case语句 版权声明 本文原创作者 清风不渡 博客地址 https bl
  • 免费好用的虚拟服务器,六大免费好用的虚拟主机管理系统

    虚拟主机的出现 是适应了现在互联网发展的需要才出现的 现在的市场中 中小型企业占据多数 而中小型企业又不能花费大量资金用来租用服务器建设网站 所以出现了功能完整价格低廉的虚拟主机 虚拟主机是通过专用的软件程序把一台服务器分割成为多个不同的虚
  • nginx文件服务器文件日期,nginx文件目录服务器

    用nginx配置一个文件服务器 并解决中文乱码问题 配置文件 server listen 80 server name downloadapp 3vyd com location add header Access Control Allo
  • 查看Python安装路径几种方法

    查看Python安装路径方法 在使用python的时候 有时候会需要找到python包的安装位置 怎么办 对于Windows平台 打开cmd 使用命令py 0p 其中0是零 显示已安装的 python 版本且带路径的列表 参见下图 其中带星
  • 记录一下项目中遇到的有关websocket延迟的问题

    想想就觉得好笑 事情呢是这个样子的 我们项目采用的事Spring websocket stomp 实现的导检功能的项目 需要很多设备和服务器进行交互 项目在公司和其他环境部署运行都没有任何问题 也就是说从来没遇到过websocket延迟的问