2014年6月20日
摘要: 基础知识:FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。主动模式FTP:主动模式下,FTP客户端从任意... 阅读全文
posted @ 2014-06-20 15:37 单车博客园 阅读(4012) 评论(0) 推荐(0)
  2014年6月11日
摘要: select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行... 阅读全文
posted @ 2014-06-11 17:47 单车博客园 阅读(373) 评论(0) 推荐(0)
摘要: 一模型TCP/IP是一个协议族(Internetprotocolsuite),包含众多的协议,传输控制协议(TCP)和网际协议(IP)分属不同的层次,是保证数据完整传输的两个基本的重要协议。在上图TCP/IP模型与SOAP模型中层级是一一对应的不同的协议层对数据有不同的称谓,在传输层叫做段(segm... 阅读全文
posted @ 2014-06-11 16:02 单车博客园 阅读(748) 评论(0) 推荐(0)
  2014年5月29日
摘要: TLV是一种可变格式,意思就是:Type类型, Lenght长度,Value值;Type和Length的长度固定,一般那是2、4个字节(这里统一采用4个字节);Value的长度有Length指定;编码方法:1. 将类型type用htonl转换为网络字节顺序,指针偏移+42. 将长度length用ht... 阅读全文
posted @ 2014-05-29 16:04 单车博客园 阅读(1690) 评论(0) 推荐(0)
  2014年5月12日
摘要: 目录一、基本概念 1.1 关于SOAP 1.2 关于gSOAP 1.3 gSOAP编译器(命令行工具) 1.3.1 wsdl2h 1.3.2 socapcpp2二、gSOAP开发:Web Service服务端三、gSOAP开发:Web Service客户端四、参考资料 笔记中的代码... 阅读全文
posted @ 2014-05-12 15:34 单车博客园 阅读(602) 评论(0) 推荐(0)
  2014年3月20日
摘要: 3 Makefile书写规则 -------------------------------------------------------------------------------- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标。make所.. 阅读全文
posted @ 2014-03-20 11:09 单车博客园 阅读(270) 评论(0) 推荐(0)
摘要: 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则 阅读全文
posted @ 2014-03-20 10:45 单车博客园 阅读(442) 评论(0) 推荐(0)
摘要: Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。 ls -l(这个参数是字母L的小写,不是数字1) 这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(一共7个栏位): 文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名 drwx------ 2 Guest users 1024 Nov 21 21:05 Mail -rwx--x--x 1 root root 89080 Nov... 阅读全文
posted @ 2014-03-20 09:58 单车博客园 阅读(4941) 评论(0) 推荐(0)
  2014年3月18日
摘要: 选择异常处理的编程方法的具体原因如下:1、把错误处理和真正的工作分开来;2、代码更易组织,更清晰,复杂的工作任务更容易实现;3、毫无疑问,更安全了,不至于由于一些小的疏忽而使程序意外崩溃了;4、由于C++中的try catch可以分层嵌套,所以它提供了一种方法使得程序的控制流可以安全的跳转到上层(或者上上层)的错误处理模块中去。(不同于return语句,异常处理的控制流是可以安全地跨越一个或多个函数)。5、还有一个重要的原因就是,由于目前需要开发的软件产品总是变得越来越复杂、越来越庞大,如果系统中没有一个可靠的异常处理模型,那必定是一件十分糟糕的局面。异常处理仅仅通过类型而不是通过值来匹配的, 阅读全文
posted @ 2014-03-18 15:43 单车博客园 阅读(1014) 评论(0) 推荐(0)
摘要: 声明绑定变量本章节将详细的说明如何在otl_stream流里面声明绑定变量。SQL语句、SQL语句块或存储过程在程序里面使用的时候总是带有占位符。OTL里面带有一个小的解析器用来解析这些占位符,并且在内部进行变量的内存分配操作。在ORACLE里面占位符的表示方法与其他数据库不同,在ORACLE里面的占位符是通过带有冒号的前缀来表示的,如::f1/:supervisor_name/:employee_id等,并且同一个占位符可能在同一个SQL语句里面使用多次。在ODBC或DB2 CLI里面,占位符则是通过问号来表示的。如:INSERT INTO TABLE_NAEM VALUES(?,?,?,? 阅读全文
posted @ 2014-03-18 14:51 单车博客园 阅读(1485) 评论(0) 推荐(0)