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