- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 实践中发现的问题
<br /> <br /> SOCKET 缓冲区问题<br /> <br />环境: <br />server , 非阻塞 一直循环发送数据(send , 并且数据是以'/n' , '/0' 结尾的)<br /> <br />client , 阻塞 循环接收数据 <br /> <br /> <br />现象:<br /> <br />如果在server中不usleep(1000) ,也就是发的速度非常快,
2010-12-20 15:10:00 840
原创 Connect : Connection refused
linux服务器端一直检查是否有数据发送给客户端。 如果有一直发(send) , 非阻塞的linux 客户端 connect 服务器端成功后 做如下循环接收 ,阻塞的int rlen = -1;while(1){ rlen = recv(); //阻塞 if(rlen { perror("recv"); break; }}close(socket);return;运行一段时间后发现 客
2010-12-17 12:19:00 1993
转载 c++ primer 记录
数据抽象和封装 数据抽象:数据抽象是一种依赖于接口和实现分离的编程和设计技术。类设计者必须关心类是如何实现的,而使用该类的程序员则不必了解这些细节,他们只需要了解类的接口就可以使用该类。 封装:封装是一种将低层次的元素组合起来形成新的、高层次实体的技术。函数是封装的一种形式:函数所执行的细节行为被封装在函数体内。被封装的元素隐藏了它们的实现细节——可以调用一个函数但不能访问它所执行的语句。当引入类的概念后,封装被更好的理解,很多类内部的细节被隐藏,从外面所能看到的只是一些类提供的接口。
2010-12-14 15:23:00 518
原创 日志 与或
<br />inline void<br />CPLogger::_log_on(const int type, const int levels)<br />{<br /> assert(type >= 0 && type <= LOG_TYPE_MAX);<br /> assert(levels >= 0 && levels < LOG_LEVEL_MAX);<br /> if (T_ALL == type)<br /> {<br />
2010-12-14 14:27:00 524
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人