java - 在 Java 中配置套接字以使用小数据包

标签 java sockets packet latency

我正在处理时间紧迫的消息,这些消息是通过非常慢的网络连接路由给我的。我正在使用 Java TCP/IP 套接字连接到原始服务器(我无法控制)。数据的长度各不相同,但通常约为 5000 字节,因此最终会分成多个大约 1400 字节的数据包。

在我的 Java 客户端代码中是否有任何方法可以控制用于向我发送数据的数据包的大小?我想尝试明确使用较小的数据包大小,例如 500 字节数据包,这会减少我接收消息第一个字节所需的时间,但(可能)会增加 header 开销。

最佳答案

如果您无法控制或更改服务器,我认为您无法从客户端控制此操作。我怀疑服务器正在将数据打包到 1500 字节的以太网帧中(有关详细信息,请参阅 here)并尝试优化其向您提供的数据。

这 1500 字节称为 MTU 。您可以在操作系统层尝试这个,但我怀疑这只会给您带来悲伤。

关于java - 在 Java 中配置套接字以使用小数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649807/

相关文章:

使用 Auth.GOOGLE_SIGN_IN_API 时的 java.lang.IllegalStateException : Must not set scopes in GoogleApiClient. Builder

c - 套接字上具有数据数组的C结构

c - 简单的 UDP 服务器回复不起作用

python - Ruby 和 Minecraft 数据包

linux - oracle linux 上的依赖性检查失败

Java,Spring,无法找到/WEB-INF/spring.properties 我需要在propertyConfigurer之外的其他地方设置它吗?

java - Blowfish CBC算法空间Padding如何实现

java - 运行两个并行事务

c++ - 超过 1024 个客户端使用 fd_set?

c++ - ERROR_NOT_ENOUGH_MEMORY 使用 WritePrivateProfileString 写入 INI 时出错,调用 200k 次后