生活随笔
收集整理的這篇文章主要介紹了
集成海康威视Sadp SDK实现局域网设备搜索
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下面將介紹集成SadpSDK的接口調(diào)用流程,以及使用到的接口功能說(shuō)明。如有疑問(wèn)歡迎留言探討。
-
啟動(dòng)SADP服務(wù)
?????? 啟動(dòng)接口 SADP_Start_V40 的第一個(gè)參數(shù)是 設(shè)備發(fā)現(xiàn)回調(diào)函數(shù)。當(dāng)SDK搜索到設(shè)備時(shí)會(huì)通過(guò) 設(shè)備發(fā)現(xiàn)回調(diào)函數(shù) 將設(shè)備信息回調(diào)給上層。回調(diào)函數(shù)中每次只回調(diào)一個(gè)設(shè)備信息,信息類(lèi)型有 設(shè)備上線,設(shè)備更新,設(shè)備下線等。
-
釋放SADP資源
?????? 停止接口 SADP_Stop,關(guān)閉在線設(shè)備搜索。
-
設(shè)置搜索間隔
?????? SDK內(nèi)部默認(rèn)60s自動(dòng)搜索一次在線設(shè)備,可調(diào)用接口 SADP_SetAutoRequestInterval 自行設(shè)置搜索間隔(單位秒)。
-
主動(dòng)觸發(fā)搜索
?????? 主動(dòng)觸發(fā)搜索接口 SADP_SendInquiry。配合清理設(shè)備列表接口 SADP_Clearup 可實(shí)現(xiàn)實(shí)時(shí)刷新功能。
-
?
#include <stdio.h>
#include <windows.h>
#include "Sadp.h"//設(shè)備信息回調(diào)函數(shù)
void CALLBACK SadpDataCallBack(const SADP_DEVICE_INFO_V40 *lpDeviceInfoV40, void* pUserData)
{printf("\r\n----------------------------------------\r\n");printf(" IP %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szIPv4Address); //設(shè)備ipprintf(" Mac %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szMAC); //設(shè)備Mac地址printf("SerialNO %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szSerialNO); //設(shè)備序列號(hào)printf(" Result %d\r\n", lpDeviceInfoV40->struSadpDeviceInfo.iResult); //消息類(lèi)型: 1.設(shè)備上線, 2.設(shè)備更新, 3.設(shè)備下線printf("\r\n----------------------------------------\r\n");
}int main(void)
{//開(kāi)啟sadp日志 3(打印所以日志) "C:\\SadpLog\\"(日志目錄) false(保留所有日志文件)SADP_SetLogToFile(3, "C:\\SadpLog\\", false);//開(kāi)啟sadp服務(wù)int iRet = SADP_Start_V40(SadpDataCallBack);if (iRet == 0){//開(kāi)啟失敗,獲取錯(cuò)誤碼int iError = SADP_GetLastError()printf("SADP_Start_V40 Failed! Err(%d)\r\n", iError);} //設(shè)置自動(dòng)搜索的時(shí)間間隔,為0則不自動(dòng)請(qǐng)求SADP_SetAutoRequestInterval(10); //單位,秒Sleep(20000);//釋放資源SADP_Stop();
}
?
總結(jié)
以上是生活随笔為你收集整理的集成海康威视Sadp SDK实现局域网设备搜索的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。