摘要: 转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有G 阅读全文
posted @ 2012-04-17 14:03 笑笑小白 阅读(380) 评论(0) 推荐(0)
摘要: gdb -args ./Recvor -P 7000 -C ../server.conf -M true -D 带参数的调试GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-32.el5)Copyright (C) 2009 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free software: you are free to change and red 阅读全文
posted @ 2012-04-13 12:01 笑笑小白 阅读(3153) 评论(0) 推荐(0)
摘要: 1.以行号设置断点 (gdb)break 7 (gdb)run2.以函数名设置断点(gdb)break function_name(gdb)run3.以条件表达式设置断点(gdb)break 7 if i==99(gdb)run4.另一种,以表达式设置断点的方法 (gdb)watch i==99 这个命令必须在变量i被定义之后才会成功运行,为了解决这个问题,首先在变量 i 被定义的后一行设置中断,然后使用run命令运行程序,程序暂停后就可以使用watch i==99设置断点了。##############################单步执行(gdb)next################ 阅读全文
posted @ 2012-04-13 11:52 笑笑小白 阅读(39093) 评论(1) 推荐(1)
摘要: 编译时必须加上参数-g ,例:g++ -g temp.cpp -o temp.通过Gcc编译生成可执行文件才能用Gdb进行调试。进入gdb界面:gdb temp.提示符变成(gdb)(1)查看文件在Gdb中键入”l”(list)就可以查看所载入的文件(2)设置断点只需在”b”后加入对应的行号即可(这是最常用的方式,另外还有其他方式设置断点)。如下所示:(gdb)b 6代码运行到第五行之前暂停(并没有运行第五行)。(3)查看断点情况(Gdb)info b(4)运行代码Gdb默认从首行开始运行代码,可键入”r”(run)即可(若想从程序中指定行开始运行,可在r后面加上行号)。(5)查看变量值查看断 阅读全文
posted @ 2012-04-13 10:03 笑笑小白 阅读(11597) 评论(0) 推荐(0)
摘要: 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:printprint /是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按16进制的格式输出,那么就是/x。一、表达式print和许多GDB的命令一样,可以接受一个表达式,GDB会根据当前的程序运行的数据来计算这个表达式,既然是表达式,那么就可以是当前程序运行中的const常量、变量、函数等内容。可惜的是GDB不能使用你在程序中所定义的宏。表达式的语法应该是当前所调试的语言的语法,由于C/ 阅读全文
posted @ 2012-04-12 18:26 笑笑小白 阅读(81623) 评论(1) 推荐(2)
摘要: Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参数来打开程序的调试选项。调试开始时,必须先载入要进行调试的程序,可以用以下两种方式: * 在启动gdb后执行以下命令: file 可执行文件路径 * 在gdb启动时就载入程序: gdb 可执行文件路径... 阅读全文
posted @ 2012-04-12 18:01 笑笑小白 阅读(1603) 评论(0) 推荐(0)
摘要: 数据传输通常数据传输的过程是将对象中的数据按照某种格式序列化成连续的字节流,然后发送到网络上,当另一端接收到字节流后,按照此格式反序列化成对象。当连接建立好后,通信双方都有两个可以发送和接收数据的ACE_SOCK_Stream对象。该对象提供了发送和接收的方法。send_n/recv_n用于发送和接收确定数量的字节流,如果没有发送或者接收完,该方法将阻塞。而send/recv就不保证这一点,可能实际发送或者接收的数据比参数指定的少,该方法不会阻塞,而是返回实际发送或者接收的数据大小。send/recv方法实际是从父类ACE_SOCK_IO继承而来的。网络传输的一种高效的方法是集中写和分散读。不 阅读全文
posted @ 2012-04-12 10:59 笑笑小白 阅读(2211) 评论(0) 推荐(0)
摘要: 一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如:> cc -g hello.c -o hello> g++ -g hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运行时的内存地址。当你用-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。启动 GDB的方法有以下几种:1、gdb <program>program也就是你的执行文件,一般在当然目录下。2、g 阅读全文
posted @ 2012-04-10 14:19 笑笑小白 阅读(165044) 评论(2) 推荐(13)
摘要: 1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库 svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关) 例如:sv 阅读全文
posted @ 2012-04-10 08:56 笑笑小白 阅读(8629) 评论(0) 推荐(0)
摘要: 1、TCP连接手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此 阅读全文
posted @ 2012-04-09 22:59 笑笑小白 阅读(2980) 评论(0) 推荐(0)