java - WebSocket 是数据报还是流?

标签 java websocket datagram denial-of-service java-websocket

我正在尝试强化 java-websocket服务器通过限制传入消息大小来抵御 DoS 攻击。

我找到了this great Q&A on C sockets' receive buffers (我认为这是限制大小的方法,因为我找不到其他东西)。其中,它说有两种类型的套接字:数据报和流。

The answer说数据报套接字只是切断任何多余的字节,这对我的目的来说很好,因为不完整的消息是不正确的,并且会导致发送者被列入黑名单。

我现在正在尝试确定 WebSocket 是数据报还是流式传输。看起来它们是数据报,因为它们使用“帧”,但我不知道。这是正确的吗?

如果它们可以流式传输,那么如何将 java-websocket、客户端和服务器配置为使用数据报(如果合适的话)?是否可以通过数据报检测过大的消息?

如果流式传输更合适,如何检测过大的消息?

最佳答案

检查this question ,看起来不可能在当前的 websocket 规范中使用数据报。

关于java - WebSocket 是数据报还是流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463983/

相关文章:

java - 简单的 Java 多线程测试不起作用

node.js - 通过 nodejs 和 websockets 将功能从 openlayers 保存到 postgis

python - django channel InMemoryChannelLayer 限制是什么

javascript - NodeJS 数据报 - 接收 IPv6 多播

tcp - 什么是 Netty Channel 状态转换?

java - 如何在Java中同时发送视频和图像文件?

java - Eclipse - 在控制台中看不到断言结果

java - 获取java.util.Arrays$ArrayList的类

websocket - Xterm.js 和 websockets

java - 在 Java 中使用 DatagramPacket