- 博客(21)
- 资源 (4)
- 收藏
- 关注
转载 epoll 事件类型
http://gobismoon.blog.163.com/blog/static/524428022010215253836/
2014-10-31 10:18:09 1413
原创 python epoll开发服务器
服务器代码:import socket, logging import select, errno listen_port = 2004 logger = logging.getLogger("network-server") def InitLog(): logger.setLevel(logging.DEBUG) fh = l
2014-10-31 09:33:51 1288
转载 Python网络字节序和主机字节序
在C中关于网络字节序和主机字节序困扰了我一段时间,在python中实现字节流的网络传输,必然这个问题也不可避免,但是我觉得在python中解决这个问题和演示起来比较方便一点。 我们上次用struct的pack方法实现了字节流,那么这里就牵涉到一个字节流的字节序问题,当一个16位的int型数据形成01的字节流时,是高位在前,还是低位在前?这里分为网络字节序,和主机字节序。Lit
2014-10-30 15:48:27 4895
转载 解决TCP网络传输“粘包”问题
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后
2014-10-29 17:36:41 732
转载 python 在不同层级目录import 模块的方法
python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。下面将具体介绍几种常用情况:(1)主程序与模块程序在同一目录下:如下面程序结构:`-- src |-- mod1.py `-- test1.py 若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 im
2014-10-25 16:43:57 590
转载 python dict字典
当我基本能从事Django框架来对网站进行开发的时候,发现对Python的知识了解得太少了,甚至到了知识匮乏的阶段。看来,我得温习一下Python知识了。 据我个人的理解,Python中有三种内置的数据类型。dictionary(字典)、List(列表)和tuple(元组)。下面我将对这几个内置的数据类型进行总结。 Dictionary(字典) 首先,什么是字典呢?通俗
2014-10-25 11:08:40 693
转载 Python线程指南
本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。尊重作者的劳动,转载请注明作者及原文地址 >.1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1
2014-10-23 15:14:18 613
转载 在Python中如何使用Linux的epoll
http://zoomq.qiniudn.com/ZQScrapBook/ZqFLOSS/data/20100927213110/
2014-10-23 14:50:56 704
转载 网络编程中的TCP保活
在默认的情况下,TCP连接是没有保活的心跳的。这就是说,当一个TCP的socket,客户端与服务端谁也不发送数据,会一直保持着连接。这其中如果有一方异常掉线,另一端永远也不可能知道。这对于一些服务型的程序来说,将是灾难性的后果。 所以,必须对创建的socket,启用保活心跳,即Keepalive选项。启用Keepalive 对于WIN32或者Linux平台来说,设置so
2014-10-23 14:16:50 1589
转载 生产者消费者模型你知道多少
在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。为什么要使用生产者和消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生
2014-10-22 19:31:42 674
转载 程序员生存定律--使人生永动的势能
http://blog.csdn.net/leezy_2000/article/details/37388673
2014-10-18 13:55:07 1079
原创 发展,管理,前辈,名人等有用的文章链接
专访李智勇:一个老程序员的哲学思考与勇猛精进的人生http://www.csdn.net/article/2014-09-24/2821834
2014-10-18 11:42:43 576
转载 技术点详解---IPSec穿越NAT
IPSec在NAT环境中的部署是VPN的热门难点技术之一,本专栏针对该问题进行原理性探讨,为后续VPN部署方案做下铺垫。IPSec VPN穿越NAT会遇到哪些问题IPSec VPN穿越NAT遇到的问题主要有2个:1. 穿越NAT后的身份确认:在IP网络中IP地址是最好的身份标识,IPSec VPN中标准身份标识也是IP地址,如上图所示,从前几期专栏的介绍中我们可以得知,NAT处
2014-10-16 18:02:40 21841 2
原创 在OpenSSL源码中添加自定义加密算法
参考:http://blog.csdn.net/force_eagle/article/details/7948561.加密算法的加载在调用加密算法之前,通过调用OpenSSL_add_all_algorithms来加载加密算法函数和单向散列算法函数void OpenSSL_add_all_algorithms(void){ OpenSSL_add_all_
2014-10-16 10:49:34 5030
转载 cbc,cfb,ecb,ofb
cbc,cfb,ecb,ofb等并不是新的加密算法,而是对加密算法的应用模式。ECB:Electronic Code Book,电子密码本模式,最基本的加密模式,也就是通常理解的加密,相同的明文将永远加密成相同的密文,无初始向量,容易受到密码本重放攻击,一般情况下很少用。CBC:Cipher Block Chaining,密码分组链接,明文被加密前要与前面的密文进行
2014-10-15 09:06:18 2417
转载 关于C语言中两个惊叹号(!)的问题
两个!是为了把非0值转换成1,而0值还是0。 因为C语言中,所有非0值都表示真。所以!非0值 = 0,而!0 = 1。所以!!非0值 = 1,而!!0 = 0。例如:i=123 !i=0 !!i=1最后将123转换为1。就是其他数据类型向bool值的转换。http://rpy000.blog.163.com/blog/static/19610953620121111
2014-10-15 08:39:40 4126
转载 Linux内核——cli()和sti()——标志寄存器的中断标志
cli()和sti()有点类似于汇编指令中的CLI和STL,当某个任务在执行的过程中不想被中断,则可以在任务的开始出执行cli(),在任务的结束处执行sti(),恢复中断的执行。 个人理解,CLI/STI和cli()/sti()工作的机制是相同的,都是对标志寄存器中的中断标志进行操作。一般在汇编指令中,CLI 和STL往往是成对出现的;但是cli()和sti()不一定是成对出现
2014-10-13 09:13:30 4789
转载 Linux内核--网络栈实现分析(一)--网络栈初始化
http://www.360doc.com/content/07/0530/11/26398_528813.shtml
2014-10-09 13:35:39 623
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人