當我使用Web瀏覽器測試我的程序時,我可以寫入套接字/ FD就好了,所以我決定循環並切斷連接,並注意到一個問題。當套接字不可用時,send()能夠關閉整個程序。我認爲問題在於這個程序陷入了一個陷阱22並且自己關閉了。所以我將套接字設置爲不阻塞。不用找了。任何想法爲什麼發生這種情況?send()問題
else if (b->temp_socket_list[read].revents & POLLOUT) {
printf ("#Write#\n");
char *done = "Done!";
int sent = send (sock, done, 5, 0);
printf ("end\n", sent);
}
發佈一些代碼演示行爲。 – NPE 2011-04-12 20:34:09
此外,運行'strace'程序,以便我們可以看到真正發生的事情。 – 2011-04-12 20:37:21
@Roland +1。這是我能夠找出一個過程在幾個月前獲得SIGPIPE的唯一途徑。它似乎在系統初始化後不久就死掉了。 – Jeff 2011-04-12 20:49:58