本章整理伺服器端幾個非核心但實務常用的功能:IP 驗證、帳密驗證、畫質設定、OSD 字幕、板卡序號。
// OnInitDialog 註冊
MP4_ServerCheckIP(CheckIP);
// 委托
int CALLBACK CheckIP(DWORD nChannel, char* nIP)
{
/* 範例邏輯(註解)
CString ctemp;
ctemp.Format("%s", nIP);
if (ctemp == "192.0.0.215")
return -1; // 拒絕此 IP
*/
return 0; // 預設允許所有
}
///
/// 驗證客戶端 IP 位址
///
/// 通道號
/// 客戶端 IP 字串
/// 0=允許連線, -1=拒絕連線
public int CheckIP(int nChannel, string nIP)
{
// 實際應用:檢查白名單/黑名單、地理位置、連線數限制等
// 範例:封鎖特定 IP 段
if (nIP.StartsWith("192.168.1."))
return -1; // 拒絕內網特定網段
return 0; // 允許通過
}
nChannel 可針對特定通道實施差異化存取控制邏輯與 IP 驗證類似,詳見下一篇。