ruby - 为什么 socket.write 会无限期挂起?

什么会对 TCPSocket 进行写调用无限期挂起?

lotsOfBytes = # a really large number of bytes, like 1 or 2 MB of data

socket = TCPSocket.new # some config
socket.write(lotsOfBytes) # this line hangs

我正在尝试 debug an issue其中发送到带有大量键的 memcached 的 get_multi 操作无限期挂起,并且它在 line that resembles 上也是如此。那个代码片段。我试图更好地了解构建此库的低级套接字的预期工作方式。

最佳答案

您的 TCPSocket 上的以下属性的值是什么:

  • 激活 Keep-alive 并设置什么值?
  • 超时设置和设置什么值?

如果您要执行 Wireshark 转储,那么在挂起连接之前看看会发生什么会好得多。

https://stackoverflow.com/questions/68218602/

相关文章:

postgresql - psql:致命:用户 ""aws rds Postgresql 的 PAM

javascript - 来自 "pages/[...slug].js"的 Next.js 路由不起

node.js - PrismaClient 验证错误 : Invalid `prisma.user

reactjs - 如何使可选的对等依赖项真正可选

python - Pycharm调试Django项目(Dev分支)的问题

c - 在 MacOS 中获取 pre-shebang 可执行文件路径(相当于 getauxval(

android - 如何公开 StateFlow 但启动和停止底层 Flow

java - 如何在@Async 方法中测试异常?

nestjs - 如何在 typeorm 中合并两个表?

android-studio - 在 Play Store Console 中更改草稿应用程序的应用