send函式導致程式崩潰

2022-08-05 02:54:18 字數 495 閱讀 1884

1. 問題描述:

客戶端send函式的時候,偶爾導致程式崩潰。

2. 原因:

在linux下寫socket的程式的時候,如果嘗試send到乙個disconnected socket上,就會讓底層丟擲乙個sigpipe訊號,這個訊號的預設處理方法是退出程序。

3. 解決辦法:

1)client中忽略sigpipe訊號

signal(sigpipe, sig_ign);

2)阻止sigpipe訊號

sigset_t set;

sigemptyset(&set);

sigaddset(&set, sigpipe);

sigprocmask(sig_block, &set, null);

3)為sigpipe新增訊號處理函式

signal(sigpipe, pipesig_handler);

模態對話方塊可能導致程式崩潰

在開發windows引用程式的時候,在一些需要使用者確認,或者提示使用者注意的場合,經常使用模態對話方塊,或者叫模態視窗。在絕大多數情況下,模態視窗給開發人員帶來了極大的便利,並且在某些應用上有不可替代的優勢。然而凡事有利必有弊,如果不正確地使用模態視窗,卻有可能帶來某些嚴重問題,甚至可能引起程式崩...

模態對話方塊可能導致程式崩潰

在開發windows引用程式的時候,在一些需要使用者確認,或者提示使用者注意的場合,經常使用模態對話方塊,或者叫模態視窗。在絕大多數情況下,模態視窗給開發人員帶來了極大的便利,並且在某些應用上有不可替代的優勢。然而凡事有利必有弊,如果不正確地使用模態視窗,卻有可能帶來某些嚴重問題,甚至可能引起程式崩...

send函式阻塞

tcp協議本身是可靠的,並不等於應用程式用tcp傳送資料就一定是可靠的.不管是否阻塞,send傳送的大小,並不代表對端recv到多少的資料.在阻塞模式 下,send函式的過程是將應用程式請求傳送的資料拷貝到傳送快取中傳送就返回.但由於傳送快取的存在,表現為 如果傳送快取大小比請求傳送的大小要大,那麼...