我正在使用套接字连接连接到我的C应用程序中的服务器。有一段时间服务器就不会返回任何东西。我的意思是没有。所以我的应用程序挂起了。我尝试过使用超时:
signal(SIGALRM, timeouthandler);
alarm(myTimeout);
(socket and connection logic)...
alarm(0);
但它仍然挂起并且不会返回脚本。一位同事说这可能是因为我正在使用阻塞连接。但是从我正在阅读的内容来看,在连接完成后设置了与非阻塞的连接。
我应该研究什么?
答案 0 :(得分:0)
'我该怎么看?'
作为一个调试工具,我发现在调试套接字连接时,Wireshark非常有用。我在C中完成了一些套接字应用程序,有时它归结为TCP堆栈库做了很多事情,Wireshark有时可以发现它。
希望这有帮助,