摘要:
一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagram socket)的一种。二、TCP和UDP介绍1)基本TCP客户—服务器程序设计基本框架说明:(三路握手)1.客户端发送一个SYN段(同步序号)指明客户打算连接的服务器端口,以及初始化序号(ISN)。2.服务器发回包含服务器的初始序号的SYN报文 阅读全文
摘要:
安装完成TT后,博主拍着胸脯对领导说没问题,明天给出demo。结果谁知道,接下来的一周博主直拍脑袋,就差拍屁股走人了。废话不多说。一、为TT创建一个用户,用户名为test,密码为test。二、还记得安装时说的TNS_ADMIN吗?进入TNS_ADMIN目录下,编辑tnsnames.ora文件Data Manger:假设DSN为ttsvrttsvr =(DESCRIPTION=(CONNECT_DATA = (SERVICE_NAME = ttsvr)(SERVER = timesten_direct)))Client:假设DSN为ttcsttcs =(DESCRIPTION=(CONNECT_ 阅读全文
摘要:
TimesTen是个好东西,据说查询速度可以提高最多40倍,插入,修改速度也可以提高十几倍。但这句话是在会用的前提下,正如《东北风云黑道悲情》中赵红兵所说“枪在没打响之前就是一块废铁”,后来这句话还救了在广州逃命的李四一命。TT也一样,要不会用再快也白瞎。目前网上能找到这方面的资料比较少,而且大部分是英文文档,像博主这种低水平选手自然就感觉非常吃力了,而且博主是在windows平台使用,资料就更少了。之前有一个网站www.ttisql.com不知道为什关闭了。没办法,怎奈领导催得紧,只好硬着头皮慢慢的测试。从安装开始,一直到做出C++ C#的demo。现在正在优化之前的程序。将自己的使用心得写 阅读全文
摘要:
硬链接符号链接指向同一个文件,并独立存在,直接指向文件的i节点。当源文件删除不会影响硬链接文件的读取因为删除原文件只是删除一个文件的目录项,文件内容并未删除指向一个文件的间接指针,类似于快捷方式。一般用于将一个文件或整个目录结构移到系统中的另一个位置。不能跨越文件系统和目录建链接只有超级用户才能创建指向目录的硬链接无任何文件系统限制,任何用户都可创建指向目录的符号链接。 阅读全文
摘要:
管道用于具有亲缘关系的进程间通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。半双工,只能单向传输。优点是所有UNIX实现都支持,并且在最后一个访问管道的进程终止后管道就被完全删除了。缺点是只允许单向传输或父子进程之间。命名管道允许无亲缘关系的进程间通信。信号用于通知接收进程有某种事件发生,除了用于进程间通信外,进程还可以发信号给进程本身消息队列是消息的链接表,有足够权限的进程可以向队列中添加信息,被赋予读权限的进程可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承受无格式字节流以及缓冲区大小受限制等缺陷。系统IPC优点,功能强大,可在毫无相关系的进程间通信。缺点是关键 阅读全文
摘要:
Pool分配是一种分配内存方法,用于快速分配同样大小的内存块,尤其是反复分配/释放同样大小的内存块的情况。 1. pool 快速分配小块内存,如果pool无法提供小块内存给用户,返回0。 Example: void func() { boost::pool<> p(sizeof(int)); 指定每次分配的块的大小 for (int i = 0; i < 10000; ++i) { int * const t = p.malloc(); pool分配指定大小的内存块;需要的时候,pool会向系统 申请大块内存。 ... // Do something with t; ... 阅读全文
摘要:
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?3、socket的基本操作3.1、socket()函数3.2、bind()函数3.3、list 阅读全文