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