随笔分类 -  网络

摘要:一旦,我们建立好了tcp连接之后,我们就可以把得到的fd当作文件描述符来使用。由此网络程序里最基本的函数就是read和write函数了。ssize_t write(int fd, const void*buf,size_t nbytes);write函数将buf中的nbytes字节内容写入文件描述符 阅读全文
posted @ 2017-03-04 17:25 小 楼 一 夜 听 春 雨 阅读(16831) 评论(0) 推荐(5)
摘要:几个重要的结论: 1. read总是在接收缓冲区有数据时立即返回,而不是等到给定的read buffer填满时返回。 只有当receive buffer为空时,blocking模式才会等待,而nonblock模式下会立即返回-1(errno = EAGAIN或EWOULDBLOCK) 2. bloc 阅读全文
posted @ 2017-03-04 16:30 小 楼 一 夜 听 春 雨 阅读(3662) 评论(0) 推荐(1)
摘要:https://blog.cnbluebox.com/blog/2014/03/24/shu-zi-zheng-shu/ 上一篇博客讲到了RSA加密算法,这里就写一下RSA应用最广泛的-数字证书。数字证书的作用就是在数据传输的过程中证明用户的身份,保证用户不是伪装的。 为什么需要数字证书 假设一个正 阅读全文
posted @ 2016-10-31 18:33 小 楼 一 夜 听 春 雨 阅读(2235) 评论(0) 推荐(0)
摘要:VLAN的实现原理非常简单,通过交换机的控制,某一VLAN成员发出的数据包交换机只发个同一VLAN的其它成员,而不会发给该VLAN成员以外的计算机。 VLAN的划分有四种方式:1.根据端口来划分VLAN 许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个 阅读全文
posted @ 2016-08-02 15:14 小 楼 一 夜 听 春 雨 阅读(323) 评论(0) 推荐(0)
摘要:http://fangxin.blog.51cto.com/1125131/735178 http://blog.csdn.net/jiangwei0910410003/article/details/19806999 阅读全文
posted @ 2016-06-15 19:52 小 楼 一 夜 听 春 雨 阅读(417) 评论(0) 推荐(0)
摘要:9.5.3 数字签名原理 数字签名是一种确保数据完整性和原始性的方法。数字签名可以提供有力的证据,表明自从数据被签名以来数据尚未发生更改,并且它可以确认对数据签名的人或实体的身份。数字签名实现了“完整性”和“认可性”这两项重要的安全功能,而这是实施安全电子商务的基本要求。 当数据以明文或未加密形式分 阅读全文
posted @ 2016-06-14 00:16 小 楼 一 夜 听 春 雨 阅读(2856) 评论(0) 推荐(0)
摘要:from http://blog.csdn.net/21aspnet/article/details/7249401# 一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。 我有一个文件,不能让别人看,我就用1加 阅读全文
posted @ 2016-06-14 00:10 小 楼 一 夜 听 春 雨 阅读(882) 评论(0) 推荐(0)
摘要:from http://codefine.co/1455.html 首先明确几个基本概念: 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。 2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。 3、私钥,如上 阅读全文
posted @ 2016-06-14 00:03 小 楼 一 夜 听 春 雨 阅读(10274) 评论(0) 推荐(0)
摘要:SSL由从前的网景公司开发有1,2,3三个版本,但现在只使用版本3 TLS是SSL的标准化后的产物 有1.0 1.1 1.2三个版本 默认使用1.0 TLS1.0和SSL3.0几乎没有区别 事实上我们现在用的都是TLS,但因为历史上习惯了SSL这个称呼 平常还是以SSL为多 阅读全文
posted @ 2016-06-13 23:56 小 楼 一 夜 听 春 雨 阅读(922) 评论(0) 推荐(0)
摘要:通常,我们写服务器处理模型的程序时,有以下几种模型:(1)每收到一个请求,创建一个新的进程,来处理该请求;(2)每收到一个请求,创建一个新的线程,来处理该请求;(3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求上面的几种方式,各有千秋,第(1)中方法,由于创建新的进程的开销比较大,所以,会导致服务器性能比较差,但实现比较简单。第(2)种方式,由于要涉及到线程的同步,有可能会面临死锁等问题。第(3)种方式,在写应用程序代码时,逻辑比前面两种都复杂。综合考虑各方面因素,一般普遍认为第(3)种方式是大多数网络服务器采用的方式,这也是本文讨论的重点—事件驱动处理库。1. s 阅读全文
posted @ 2011-12-28 22:37 小 楼 一 夜 听 春 雨 阅读(439) 评论(0) 推荐(0)
摘要:1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:返回值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == 阅读全文
posted @ 2010-05-09 17:27 小 楼 一 夜 听 春 雨 阅读(2901) 评论(0) 推荐(0)
摘要:在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的 LRESULT值返回给调用者。 异步 异步的概念和同步相对。当一个 阅读全文
posted @ 2010-03-26 22:28 小 楼 一 夜 听 春 雨 阅读(387) 评论(0) 推荐(0)