- 博客(16)
- 收藏
- 关注
转载 HTTP1.0-1.1差异
转载自http://blog.chinaunix.net/uid-10249062-id-163275.html备注:本文主要基于HTTP1.1规范的角度进行两个版本的对比。Protocol ParametersDate/Time Formats(接收方向)无论是HTTP1.0还是HTTP1.1,都要能解析下面三种date/time stamp:
2013-04-12 19:14:25
789
转载 VMware虚拟机时间同步问题
http://mingyue19850801.blog.163.com/blog/static/1952082020102301150477/#******在Windows操作系统下安装VMware虚拟机后,再安装linux以后时间总是与真实计算机的不同步解决方法:方法1:步骤1:安装VMware Tools工具(1)在启动LINUX 虚拟机之后,在WM
2013-03-28 11:55:47
1573
转载 关于SIGPIPE导致的程序退出
http://www.cppblog.com/elva/archive/2008/09/10/61544.html--------------------------linux下当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会像系统发送一个异常消息,如果不作处理,系统会出BrokePipe,程序会退出。为此,send()函数的最后一个参数可以设MSG_NOSIGNAL
2013-01-15 09:43:55
413
原创 Linux socket connect
客户端调用int connect(int sockfd, const struct sockaddr *addr, socklen_t len)发起对服务器的socket的连接请求: 如果客户端socket描述符为阻塞模式则会一直阻塞到连接建立或者连接失败(注意阻塞模式的超时时间可能为75秒到几分钟之间); 而如果为非阻塞模式,则调用connect之后如果连接不能马上建立则返回
2013-01-06 19:47:41
602
原创 Linux下printf输出颜色
Linux下printf输出颜色 printf("\033[字背景颜色;字体颜色m字符串\033[0m"); 参考:printf("\033[41;32m字体背景是红色,字是绿色\033[0m\n");41是字背景颜色, 32是字体的颜色, 字体背景是红色,字是绿色是字符串. 后面的\033[0m是控制码.颜色代码:QUOTE:字背景颜色范围: 40-
2012-12-11 12:38:32
986
原创 C++: undefined reference to vtable
单件模式如果按方法一写,所有用到单件模式的类声明中不允许再次定义构造和析构函数,但是类实现中必须实现构造和析构函数。如果不实现析构函数,就会报“undefined reference to 'vtable for classname'”错误。单件模式一:#define PATTERN_SINGLETON_DECLARE(classname) \private: \
2012-11-29 17:14:35
1131
原创 c语言预处理命令
可以在C源程序中插入传给编译程序的各中指令,这些指令被称为预处理器指令,它们扩充了程序设计的环境。常用的预处理命令: 1. 预处理程序按照ANSI标准的定义,预处理程序应该处理以下指令:#if #ifdef #ifndef #else #elif#endif#define#undef#line#error#pragma#include显然,上述所有的12个预处理指令
2012-11-18 20:59:34
506
原创 TCP抓包经验
Linux MTU 设置:"ifconfig eth0 mtu 1400" MTU设置可能影响TCP协议底层重传,如通信双方之间数据要经过多个路由器,其中某一个路由器设置的MTU值(如1400)小于发送数据一端的MTU值(如1480),可能会经常导致重传。TCP传输协议抓包经验TCP传输通信时的几个状态TCP Window UpdateTCP Previous s
2012-11-18 20:56:21
1344
原创 FTP APPE&STOR
RFC959里讲到:STOR 会引起服务器DTP接受经过数据连接传送的数据并将这些数据存储为服务器端的一个文件,如果在路径参数里指定的文件在服务器端已经存在,那么这个文件会被传送过来的数据覆盖。如果指定的文件不存在则会在服务器端新建一个文件。而APPE 则引起服务DTP接受从数据连接传送过来的数据并存储在服务器端的一个文件里。如果指定的文件在服务器端已经存在,则这个数据会附加到文件的后面;否则服务
2012-11-15 15:45:58
4708
原创 组播
组播需要的网络环境如果主机想获得多播报文,相邻的路由器也必须支持IGMP,如果想获得Internet上的多播报文,主机到Server的这个路径中所遇到的路由器必须全部支持IGMP,路由器还必须支持源发现协议,如MSDP,PIM_DM,PIM_SM等。组播的等级Level 0 不支持IP多播Level 1 只支持向多播组发送数据而不能接收多播组的数据Level 2
2012-09-27 10:40:11
856
转载 setsockopt参数之SO_REUSEADDR
http://www.cnblogs.com/mydomain/archive/2011/08/23/2150567.html~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~http://www.sudu.cn/info/html/edu/20050101/296180.html网友vmstat多次提出了这个问题:SO_REUSEADDR有什
2012-09-27 10:12:01
878
原创 多线程&锁
一、递归锁:二、快速锁:使用快速锁:当有多个线程执行,其中某一个线程执行频率比其他线程都高,这几个线程可以用“同一把锁”。但要注意嵌套调用(可能出现死锁)的问题,类外调用必须加锁,类内调用要保证只加一次。情境:3个线程(A-定时器线程,B-获取数据线程,C-网络收发线程),在不同的类中。C频率最高,已加锁;如果A、B不加锁,C未执行完成并即将使用对象Obj,此时CPU调度去执行
2012-07-05 16:15:40
384
原创 linux网络编程:Broken pipe
在linux下写socket的程序的时候,如果尝试send到一个disconnected socket上,就会让底层抛出一个SIGPIPE信号。当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPI
2012-06-26 20:31:06
1143
转载 函数指针和回调函数
http://hi.baidu.com/yan_%CD%A9%D2%B6%D0%D3%CF%E3/blog/item/feda3651289589020cf3e392.html本文简单地讲解VC++的函数指针和回调函数,目的是让您弄懂函数指针和回调函数。本文假设您已经能够简单地使用C++的指针并了解MFC的基础知识。我们先讲函数指针。什么是函数指针函数指针是指向函数的指
2012-05-26 17:22:33
475
转载 linux下c程序调用reboot函数实现直接重启
http://blog.chinaunix.net/uid-20564848-id-73878.html
2012-04-09 18:07:13
1796
转载 linux网络编程...
转载自:http://fanqiang.chinaunix.net/a4/b7/20010810/1200001101.html服务器公开地址 如果服务器要接受客户机的连接请求,那么它必须先要在整个网络上公开自己的地址。在设置了服务器的套接字地址结构之后,可以通过调用函数bind()绑定服务器的地址和套接字来完成公开地址的操作。函数bind()的详细描述为:-----------
2012-04-06 23:13:20
418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人