02 2018 档案

理解事务的4种隔离级别
摘要:数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。 Read uncommitte 阅读全文

posted @ 2018-02-28 17:07 wsw_seu 阅读(145) 评论(0) 推荐(0) 编辑

http与https
摘要:HTTP缺省工作在TCP协议80端口,用户访问网站http:.//打头的都是标准的HTTP服务,HTTP所封装的信息是明文的,通过抓包工具可以分析其内容,如果这些信息是密码等,肯定会造成泄密。 而HTTPS可以加密敏感信息,缺省工作在TCP协议443端口,工作流程一般是: 1、TCP完成三次握手; 阅读全文

posted @ 2018-02-27 15:21 wsw_seu 阅读(326) 评论(0) 推荐(0) 编辑

HTTP请求中POST与GET的区别
摘要:一、原理区别 一般我们在浏览器输入一个网址访问网站都是GET请求;在FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。 HTTP定义了与服务器交互的不同方法,其中最基本的五种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD 阅读全文

posted @ 2018-02-27 14:56 wsw_seu 阅读(156) 评论(0) 推荐(0) 编辑

借助boost bind/function来实现基于对象编程。
摘要:boost bind/function库的使用: 替换了stl中mem_fun,bind1st,bin2nd等函数。用户注册回调函数需要利用boost/bind转化成库中boost/function格式的函数。然后调用库的时候就可以回调用户注册的处理函数了。bind也可以将成员函数转换成boost/ 阅读全文

posted @ 2018-02-26 17:16 wsw_seu 阅读(202) 评论(0) 推荐(0) 编辑

SIGPIPE信号
摘要:SIGPIPE往一个已经接收到FIN的套接中写是允许的,接收到的FIN仅仅代表对方不再发送数据。并不能代表我不能发送数据给对方。往一个FIN结束的进程中写(write),TCP 协议栈会发送一个RST TCP段过来,TCP重置。如果再调用write就会产生SIGPIPE信号 通常,我们只需要忽略这个 阅读全文

posted @ 2018-02-04 15:29 wsw_seu 阅读(6075) 评论(0) 推荐(0) 编辑

TCP11种状态
摘要:TCP的11种状态(还有一种CLOSING状态是两边同时发起close过程中才会有状态)nup的36页 连接建立的三次握手、终止四次握手。 socket创建套接口,默认是主动套接口。服务器端是被动套接口;服务器端收到客户端的SYN_SENT之后,仍处于阻塞状态。 TIME_WAIT要保留2MSL时间 阅读全文

posted @ 2018-02-04 15:25 wsw_seu 阅读(390) 评论(0) 推荐(0) 编辑

多客户连接僵尸进程的处理
摘要:什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。 而 阅读全文

posted @ 2018-02-04 14:35 wsw_seu 阅读(254) 评论(0) 推荐(0) 编辑

gethostname(获取主机名)、gethostbyname(由主机名获取IP地址)
摘要:int gethostname(char *name, size_t len);获取本地主机名存入name[len],成功返回0,失败返回-1; struct hostent * gethostbyname(const char * hostname); //返回对应于给定主机名的包含主机名字和地址 阅读全文

posted @ 2018-02-04 13:25 wsw_seu 阅读(1372) 评论(0) 推荐(0) 编辑

点对点通信实例
摘要:实现点对点通信,双方都能发送数据、接收数据,双方维护套接字。read对方数据和read键盘输入目前使用两个进程来实现。 服务器进程: 客户端程序代码: 阅读全文

posted @ 2018-02-03 19:14 wsw_seu 阅读(1368) 评论(0) 推荐(0) 编辑

TCP回射客户服务器模型(02 设置套接字选项、处理多并发)
摘要:int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); //设置套接字选项 回射服务器编写,服务器关闭后处于TIME_WAIT状态,过一段时间才可以绑定刚才的端口。在绑定服务器 阅读全文

posted @ 2018-02-03 16:54 wsw_seu 阅读(178) 评论(0) 推荐(0) 编辑

TCP回射客户服务器模型(01 socket bind listen accept connect)
摘要:socket函数(安装电话机)头文件:#include<sys/socket.h> int socket(int family, int type, int protocol); //返回套接字描述符sockfd, 失败返回-1参数 1、family:协议族PF_INET/AF_INET2、type 阅读全文

posted @ 2018-02-03 15:40 wsw_seu 阅读(201) 评论(0) 推荐(0) 编辑

socket套接字(字节序、地址转换)
摘要:什么是socket: socket可以看成是用户进程与内核网络协议栈的编程接口。 socket不仅可以用于本机的进程间通信,还可以用于网络上 不同主机之间的进程通信。IPv4套接口地址结构 struct sockaddr_in{ uint8_t sin_len; //整个sockaddr_in结构体 阅读全文

posted @ 2018-02-03 14:18 wsw_seu 阅读(419) 评论(0) 推荐(0) 编辑

TCP特点
摘要:1、基于字节流;面向连接;可靠传输;缓冲传输;全双工;流量控制。TCP如何保证可靠性:差错:校验和丢包:超时重传+确认失序:seq(序号)重复:seq(序号)1、数据被分割成TCP认为最合适发送的数据块,称为段传递给IP层2、当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果 阅读全文

posted @ 2018-02-02 16:18 wsw_seu 阅读(359) 评论(0) 推荐(0) 编辑

ISO/OSI参考模型
摘要:ISO/OSI参考模型: 1、应用层:提供应用程序间通信。应用层与应用程序界面沟通,以达到展示给用户的目的。常见的协议:HTTP、HTTPS、FTP、TELNET、SSH、SMTP等 2、表示层:处理数据格式、数据加密等。表示层对网络传输的数据进行交换,是的多个主机之间传递的信息能够相互理解,包括数 阅读全文

posted @ 2018-02-02 14:37 wsw_seu 阅读(787) 评论(0) 推荐(0) 编辑

227. Basic Calculator II
摘要:Implement a basic calculator to evaluate a simple expression string. The expression string contains only non-negative integers, +, -, *, / operators a 阅读全文

posted @ 2018-02-02 10:17 wsw_seu 阅读(113) 评论(0) 推荐(0) 编辑

求数组中两个元素最大差值
摘要:一个整数数组a[n],在a[n]中找两个数字,使得下标大的数字减去下表小的数字所得的差值最大,即:在a[n]中找 a[i] 和 a[j] ,使得 a[i] - a[j] 的值最大,并且 i > j 。 寻求O(n)的解法 如果要求i<j的话: 阅读全文

posted @ 2018-02-01 16:30 wsw_seu 阅读(531) 评论(0) 推荐(0) 编辑

深度复制链表
摘要:题目大意:深拷贝一个链表,链表除了含有next指针外,还包含一个random指针,该指针指向字符串中的某个节点或者为空。 节点定义为: struct RandomListNode { int label; RandomListNode *next, *random; RandomListNode(i 阅读全文

posted @ 2018-02-01 16:27 wsw_seu 阅读(174) 评论(0) 推荐(0) 编辑

排序之计数排序
摘要:1 #include 2 using namespace std; 3 const int MAXN=100000; 4 const int k=1000; 5 int a[MAXN],c[MAXN],ranked[MAXN];//统计数组中每个值为i的元素出现的次数,存入数组C的第i项 6 int main() 7 { 8 int n; 9 cin>>n... 阅读全文

posted @ 2018-02-01 16:24 wsw_seu 阅读(139) 评论(0) 推荐(0) 编辑

排序之基数排序
摘要:基数排序: 基数排序的思想就是将待排数据中的每组关键字依次进行桶分配基数排序:LSD和MSD方法。LSD的基数排序适用于位数小的数列,如果位数多,使用MSD效率会更高。MSD与LSD相反,由高位数为基底开始分配。LSD为例:73, 22, 93, 43, 55, 14, 28, 65, 39, 81 阅读全文

posted @ 2018-02-01 16:23 wsw_seu 阅读(177) 评论(0) 推荐(0) 编辑

有名管道FIFO进程间数据传输实例
摘要:紧接着上面一个博客的简单介绍,下面进行一个没有血缘关系的进程间通信的实例,实现文件拷贝传输。 有两个进程,一个主要是fifow进程:读文件Makefile内容,写入管道;另一个进程fifor:读管道内容,写入到Makefile2。 首先,写端会创建一个管道,然后读取Makefile内容,写入到管道t 阅读全文

posted @ 2018-02-01 16:13 wsw_seu 阅读(305) 评论(0) 推荐(0) 编辑

命名管道FIFO及其读写规则
摘要:一、匿名管道的一个限制就是只能在具有共同祖先的进程间通信命名管道(FIFO):如果我们想在不相关的进程之间切换数据,可以使用FIFO文件来做这项工作注意:命名管道是一种特殊类型文件。利用命令:$ mkfifo filename或者相关函数:int mkfifo(const char*filename 阅读全文

posted @ 2018-02-01 15:58 wsw_seu 阅读(1009) 评论(0) 推荐(0) 编辑

224、Basic Calculator
摘要:Implement a basic calculator to evaluate a simple expression string. The expression string may contain open ( and closing parentheses ), the plus + or 阅读全文

posted @ 2018-02-01 14:38 wsw_seu 阅读(104) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示