4日 星期三
1:在visual studio 对浮点数下条件断点,示例代码如下:
float fval;
......
add(fval, 1.0); 在这一段上下了条件断点 fval==2.5.但是始终不会断下来,
后来下(int)(fval*10)==2.5就可以断下来,或者fval>2.4 && fval<2.6也能成功断下来.
2:数据类型,示例如下:
char *szBuf[10];
....
int i = szBuf[n] << 4;
本意是每个数据*16的和,但由于char是有符号的,所以当szBuf[n]中的内容大于127时,便出现了加负数的情况.
代码改为 int i = (unsigned char)szBuf[n] << 4;就始终是正数了.
5日 星期四
配置windows 2003文件共享的问题
1:启用guest账户
2:运行组策略,计算机配置--windows设置--安全设置--本地策略--用户权利指派
a:允许从网络访问这台计算机
b:拒绝从网络访问这台计算机
3:计算机配置--windows设置--安全设置--本地策略--安全选项
a:网络访问 本地账户的共享访问和安全模式, 设置为经典
b:网络访问: 不允许 SAM 帐户和共享的匿名枚举 禁用
c:帐户: 使用空白密码的本地帐户只允许进行控制台登录 禁用
d:在windows防火墙中的例外中,对打印和文件共享打上勾.
e:在相关文件夹上开启共享,并设置好用户的权限.
8日 星期日
1:套接字分成两种模式:阻塞和非阻塞模式。
阻塞套接字的含义是:在其上进行操作时,只有该操作成功执行完或者失败后才能返回。比如recv方法,它必须在执行完后才会返回
非阻塞套接字的含议是:在其上投递的操作,操作会立该返回,操作的结果只有等操作真正完成后,才能获取。但投递过程会立即返回,不会等待其完成。
2:套按字的I/O管理分成5种模型:
select模型:即可以管理阻塞套接字,也可以管理非阻塞套接字。
WSAAsyncSelect模型:是一种异步模型,只能运用于非阻塞套接字,在阻塞套接字上调用该方法时,套接字将自动转变化非阻塞套接字。
WSAEventSelect模型:是一种异步模型,只能运用于非阻塞套接字,在阻塞套接字上调用该方法时,套接字将自动转变化非阻塞套接字。
Overlapped I/O 事件通知模型:是一种异步模型,只能运用于非阻塞套接字。该模型与WSAEventSelect一样是利用事件来通知,但该模型一次投递数量是1...N
Overlapped I/O 完成例程模型:是一种异步模型,只能运用于非阻塞套接字。
3:在套接字上进行recv操作时,能捕获到由于线路故障的异常吗?
答:理论上不能,但许多操作系统对套接字都会有一个默认的keep alive时间,当超过这个时间时就可以检测到,程序中也可对套接字的该选项进行设置,以尽快捕获线路异常。
send方法可以立即捕获,因为最后一个不能向前转化的路由器会向本机发回一个主机不可达的icmp报文.
4:在阻塞及非阻塞套接字上可以同时进行读写, 写写吗,读读吗?
答:由于TCP/IP协议的内部实现了互斥机制,所以是可以的。只不过在进行写写,读读时,必须保证一个逻辑的多次写或读是原子的,也就是一次完整读或写机制不能间断。
5:在套接字上投递一个recv请求,必须要收到指定缓冲区大小才会返回吗?
答:看recv函数中设置的flag,0:只有收到部份数据就会返回,MSG_WAITALL:必须收到指定的字节才会返回,不管flag值是什么,套接字关闭时会立该返回错。
6:UDP数据报能无限大吗?
答:理论上可以,但是考虑线路MTU及每个主机可接受数据包大小,一般数据报大小限制为576,除去去IP层和链路层的附加信息,用户有效数据量不宜超过512个字节。
9日 星期一
1:前段公司封了外网,我们的电脑不能通过局域网上Internet了,出于联系的需要配了一个无线网卡给我用。有个烦人的问题就是每次上用无线网卡上网时,就不能访
问内部另外一个的局域网。今天突然想起,我可以使我的无线网卡工作于modern模式,同局域网的可以访问,那么可以通过添加路由来解决访问另一个网段的问题。
于是用下面的语句绑定一个主机路由。
route -p add 10.65.2.3 10.60.1.1
ping 10.65.2.3 可以ping通了,也可以打开该机器上的资源了。