0

我正在使用套接字连接连接到我的 C 应用程序中的服务器。偶尔服务器不会返回任何东西。我的意思是什么。所以我的应用程序挂起。我试过使用超时:

signal(SIGALRM, timeouthandler);
alarm(myTimeout);

(socket and connection logic)...    

alarm(0);

但它仍然挂起并且不会返回到脚本。一位同事说这可能是因为我正在使用阻塞连接。但是从我正在阅读的内容来看,您在建立连接后将连接设置为非阻塞。

我应该调查什么?

4

1 回答 1

0

“我应该调查什么?”

作为调试工具,我发现 Wireshark 在调试套接字连接时很有用。我用 C 语言完成了一些套接字应用程序,有时它归结为 TCP 堆栈库在做一些奇怪的事情,而 Wireshark 有时可以发现这一点。

希望这可以帮助,

于 2012-09-25T19:29:50.527 回答