C 通過Socket快速判斷資料庫連線是否正常

2022-06-11 12:06:11 字數 1193 閱讀 8989

如果連線不成功,應該在5-8s內做出回應。但是並不能確定一定是連線字串出錯。如果大量人訪問的話,很可能會出現等待時間超過5s的情況。而且,如果連線不成功,我們依舊最起碼得等待5秒。等待的滋味是不好受的,使用者一定會給你乙個叉叉,所以我們還需要用其他辦法來快速判斷。

這裡我們用socket來實現這一功能。(至於socket是什麼,有興趣的朋友可以自己查查資料)

先用socket來判斷與伺服器是否連線成功,然後在進行資料庫操作。

#region 採用socket方式,測試伺服器連線

///

/// 採用socket方式,測試伺服器連線

///

/// 伺服器主機名或ip

/// 埠號

///

public static bool testconnection(string host, int port, int millisecondstimeout)

catch (exception e)

finally }

#endregion

//該**片段來自於:

下面是資料庫的操作,可以根據自己的情況修改。

///

/// 資料庫連線操作,可替換為你自己的程式

///

/// 連線字串

///

private static bool testconnection(string connectionstring)

catch (exception ex)

return result;

} //該**片段來自於:

我這裡用winform來測試的。

private void btnsocket_click(object sender, eventargs e)

else

messagebox.show("socket link failed","連線伺服器");

} //該**片段來自於:

用socket來測試是否連線到伺服器非常方便,也非常快捷,不用讓使用者等待那麼長時間,而且這樣做還可以知道是伺服器位址出錯,還是資料庫出錯。經測試,如果資料庫位址出錯,在1-3s內即可反饋出結果。提示使用者「socket link failed」。而資料庫名錯誤,則只提示「sql link failed」。

這麼方便、快捷、高效、易排錯的方法,你會不會錯過,我不知道,反正我是不會錯過了!

用Socket快速判斷資料庫連線

大家在做專案的時候,一般都是和資料庫有關的。而相信許多人在用 開啟資料庫的時候,沒有判斷資料庫連線是否成功。如果寫對了還好,但是出錯了,會等老長時間 預設15s,不過實際響應可能會更長 而且還會出現卡死的情況,給使用者的感覺就會變得非常差勁。所以快速判斷資料庫連線是否成功,就顯得尤為重要了。如果連線...

c 通過socket判斷伺服器連線是否正常

判斷socket是否連線上,需要通過發包來確認。之前確認都是呼叫呼叫socket的connected屬性,然而該屬性是上次的連線是否成功的結果,不及時。檢查乙個socket是否可連線 private bool issocketconnected socket client catch sockete...

C 通過socket實現UDP 通訊

接下來我們通過乙個簡單的程式看一下udp通訊的過程。服務端程式 using system using system.collections.generic using system.linq using system.text using system.threading.tasks using s...