2009-08-18 51 views
1

我正在開發一個應用程序在可可包含用java編寫的客戶端部分偵聽來自服務器的請求(如從客戶機讀取一些歌曲或文件)有時這工作正常,但有時候像「Recieved信號SIGPIPE「發生。我不知道這個例外以及如何處理這個問題 在此先感謝...SIGPIPE異常

+0

服務器是用Cocoa編寫的嗎?如果客戶端是Cocoa和Java,我希望你使用的是JNI,因爲Cocoa-Java橋(即Cocoa類作爲Java類)已被棄用。 – 2009-08-18 07:16:05

回答

-1

SIGPIPE意味着其他進程已終止。

+1

不完全。事實上,甚至不需要另外一個流程。 – 2009-08-18 07:25:01

1

SIGPIPE表示您試圖寫入管道,但沒有人持有讀取結束。你關閉了你的讀取結束,或者你在這之前沒有創建一個子進程,或者子進程也關閉了它的讀取結束。

+0

您還可以將'SIGPIPE'設置爲'SIG_IGN',並且使用'errno = EPIPE'使'write()'或'send()'失敗。我更喜歡這個。 – asveikau 2010-03-04 10:06:39