日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]經歷了千辛萬苦的嘗試,原來onvif上處理多網(wǎng)卡的選擇是如此簡單,soap的設計早就考慮好了此問題??嗨欢嗾f了,步驟如下:1、獲取本機的各網(wǎng)卡的IP地址。????? 在網(wǎng)上看見講得比較多的方法有兩個

經歷了千辛萬苦的嘗試,原來onvif上處理多網(wǎng)卡的選擇是如此簡單,soap的設計早就考慮好了此問題。

苦水不多說了,步驟如下:

1、獲取本機的各網(wǎng)卡的IP地址。

????? 在網(wǎng)上看見講得比較多的方法有兩個。

????? 一是將ipconfig? /all的運行結果保存到文件,然后分析出各IP地址。但是我實操時遇到了操作系統(tǒng)的語言問題。我測試了三臺電腦,一臺回復全英文的,一臺回復中英文結合的,裝了繁體系統(tǒng)的那臺返回英文和繁體結合的。想不到如何處理,于是放棄了本方法。希望各大牛能告訴我他們的處理方法。

???????第二種方法是通過gethostname,加gethostbyname這兩個庫函數(shù)組合獲取各網(wǎng)卡的IP地址。我選用就是此方法的,在這里我就不列舉我的具體做法了,感覺處理得不太好,給獻丑了,網(wǎng)上例子也不少。此方法可以獲取到AF_INET和IF_INET6的地址,并且很好地排除了工作站上那些“bluetooth 網(wǎng)絡”等不關心的網(wǎng)卡。

?

2、在soap中設置IP地址

???????? 只要設置好soap的ipv4_multicast_if參數(shù),一切就由soap內部搞定了。很簡單吧。

	struct?in_addr?if_req;
	if_req.s_addr?=?inet_addr("xxx.xxx.xxx.xxx");??//?想綁定的IP地址
	soap.ipv4_multicast_if?=?(char*)soap_malloc(&soap,?sizeof(in_addr));
	memset(soap.ipv4_multicast_if,?0,?sizeof(in_addr));
	memcpy(soap.ipv4_multicast_if,?(char*)&if_req,?sizeof(if_req));

?????我是在設定setsockopt的IP_ADD_MEMBERSHIP參數(shù),即加入組播后設定以上參數(shù)的。

總結:要不是偶然看見了soap結構中有此參數(shù),可能我還沒能從解決問題的苦海中解放出來。看來必須再好好研究soap的結構了。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉