我有一个扩展 EM::Connection 的类。在该类中,我检查数据库中的新条目,如果有新条目,我会格式化数据并使用 send_data 通过 tcp 连接发送数据。发送数据后,它会将其记录到一个文本文件中,然后更新数据库以将记录标记为已发送。
该程序无限期地运行,并以由生成数据库记录的基于用户的零星活动驱动的频率发送 tcp 更新。
通常,我可以使用 linux ngrep 命令观察数据通过网络传递。
我目前遇到的问题是 send_data 命令没有发送数据并且没有引发任何错误。在它进入这种状态后,它不会再发送任何数据,直到我重新启动程序。更糟糕的是,因为 send_data 在发生这种情况时不会抛出任何错误,所以程序会像正常工作一样写入日志,然后更新数据库记录并将其标记为已发送。
有没有办法检查 send_data 命令的结果?
如果这与远端不读取和读取缓冲区最大化有关,那么我是否可以检查出站缓冲区大小?