4日 星期三
1:在visual studio 對(duì)浮點(diǎn)數(shù)下條件斷點(diǎn),示例代碼如下:
float fval;
......
add(fval, 1.0); 在這一段上下了條件斷點(diǎn) fval==2.5.但是始終不會(huì)斷下來(lái),
后來(lái)下(int)(fval*10)==2.5就可以斷下來(lái),或者fval>2.4 && fval<2.6也能成功斷下來(lái).
2:數(shù)據(jù)類型,示例如下:
char *szBuf[10];
....
int i = szBuf[n] << 4;
本意是每個(gè)數(shù)據(jù)*16的和,但由于char是有符號(hào)的,所以當(dāng)szBuf[n]中的內(nèi)容大于127時(shí),便出現(xiàn)了加負(fù)數(shù)的情況.
代碼改為 int i = (unsigned char)szBuf[n] << 4;就始終是正數(shù)了.
5日 星期四
配置windows 2003文件共享的問(wèn)題
1:?jiǎn)⒂胓uest賬戶
2:運(yùn)行組策略,計(jì)算機(jī)配置--windows設(shè)置--安全設(shè)置--本地策略--用戶權(quán)利指派
a:允許從網(wǎng)絡(luò)訪問(wèn)這臺(tái)計(jì)算機(jī)
b:拒絕從網(wǎng)絡(luò)訪問(wèn)這臺(tái)計(jì)算機(jī)
3:計(jì)算機(jī)配置--windows設(shè)置--安全設(shè)置--本地策略--安全選項(xiàng)
a:網(wǎng)絡(luò)訪問(wèn) 本地賬戶的共享訪問(wèn)和安全模式, 設(shè)置為經(jīng)典
b:網(wǎng)絡(luò)訪問(wèn): 不允許 SAM 帳戶和共享的匿名枚舉 禁用
c:帳戶: 使用空白密碼的本地帳戶只允許進(jìn)行控制臺(tái)登錄 禁用
d:在windows防火墻中的例外中,對(duì)打印和文件共享打上勾.
e:在相關(guān)文件夾上開(kāi)啟共享,并設(shè)置好用戶的權(quán)限.
8日 星期日
1:套接字分成兩種模式:阻塞和非阻塞模式。
阻塞套接字的含義是:在其上進(jìn)行操作時(shí),只有該操作成功執(zhí)行完或者失敗后才能返回。比如recv方法,它必須在執(zhí)行完后才會(huì)返回
非阻塞套接字的含議是:在其上投遞的操作,操作會(huì)立該返回,操作的結(jié)果只有等操作真正完成后,才能獲取。但投遞過(guò)程會(huì)立即返回,不會(huì)等待其完成。
2:套按字的I/O管理分成5種模型:
select模型:即可以管理阻塞套接字,也可以管理非阻塞套接字。
WSAAsyncSelect模型:是一種異步模型,只能運(yùn)用于非阻塞套接字,在阻塞套接字上調(diào)用該方法時(shí),套接字將自動(dòng)轉(zhuǎn)變化非阻塞套接字。
WSAEventSelect模型:是一種異步模型,只能運(yùn)用于非阻塞套接字,在阻塞套接字上調(diào)用該方法時(shí),套接字將自動(dòng)轉(zhuǎn)變化非阻塞套接字。
Overlapped I/O 事件通知模型:是一種異步模型,只能運(yùn)用于非阻塞套接字。該模型與WSAEventSelect一樣是利用事件來(lái)通知,但該模型一次投遞數(shù)量是1...N
Overlapped I/O 完成例程模型:是一種異步模型,只能運(yùn)用于非阻塞套接字。
3:在套接字上進(jìn)行recv操作時(shí),能捕獲到由于線路故障的異常嗎?
答:理論上不能,但許多操作系統(tǒng)對(duì)套接字都會(huì)有一個(gè)默認(rèn)的keep alive時(shí)間,當(dāng)超過(guò)這個(gè)時(shí)間時(shí)就可以檢測(cè)到,程序中也可對(duì)套接字的該選項(xiàng)進(jìn)行設(shè)置,以盡快捕獲線路異常。
send方法可以立即捕獲,因?yàn)樽詈笠粋€(gè)不能向前轉(zhuǎn)化的路由器會(huì)向本機(jī)發(fā)回一個(gè)主機(jī)不可達(dá)的icmp報(bào)文.
4:在阻塞及非阻塞套接字上可以同時(shí)進(jìn)行讀寫(xiě), 寫(xiě)寫(xiě)嗎,讀讀嗎?
答:由于TCP/IP協(xié)議的內(nèi)部實(shí)現(xiàn)了互斥機(jī)制,所以是可以的。只不過(guò)在進(jìn)行寫(xiě)寫(xiě),讀讀時(shí),必須保證一個(gè)邏輯的多次寫(xiě)或讀是原子的,也就是一次完整讀或?qū)憴C(jī)制不能間斷。
5:在套接字上投遞一個(gè)recv請(qǐng)求,必須要收到指定緩沖區(qū)大小才會(huì)返回嗎?
答:看recv函數(shù)中設(shè)置的flag,0:只有收到部份數(shù)據(jù)就會(huì)返回,MSG_WAITALL:必須收到指定的字節(jié)才會(huì)返回,不管flag值是什么,套接字關(guān)閉時(shí)會(huì)立該返回錯(cuò)。
6:UDP數(shù)據(jù)報(bào)能無(wú)限大嗎?
答:理論上可以,但是考慮線路MTU及每個(gè)主機(jī)可接受數(shù)據(jù)包大小,一般數(shù)據(jù)報(bào)大小限制為576,除去去IP層和鏈路層的附加信息,用戶有效數(shù)據(jù)量不宜超過(guò)512個(gè)字節(jié)。
9日 星期一
1:前段公司封了外網(wǎng),我們的電腦不能通過(guò)局域網(wǎng)上Internet了,出于聯(lián)系的需要配了一個(gè)無(wú)線網(wǎng)卡給我用。有個(gè)煩人的問(wèn)題就是每次上用無(wú)線網(wǎng)卡上網(wǎng)時(shí),就不能訪
問(wèn)內(nèi)部另外一個(gè)的局域網(wǎng)。今天突然想起,我可以使我的無(wú)線網(wǎng)卡工作于modern模式,同局域網(wǎng)的可以訪問(wèn),那么可以通過(guò)添加路由來(lái)解決訪問(wèn)另一個(gè)網(wǎng)段的問(wèn)題。
于是用下面的語(yǔ)句綁定一個(gè)主機(jī)路由。
route -p add 10.65.2.3 10.60.1.1
ping 10.65.2.3 可以ping通了,也可以打開(kāi)該機(jī)器上的資源了。