Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

使用Twisted编写服务器

使用Twisted编写服务器

Twisted使用异步的方式处理数据,网络中有事件到达时,协议作出对事件的响应,并调用协议里面的方法,比如loseConnection()用于断开连接,abortConection()用于强制终止连接,connectionMade()用于建立连接。使用Twisted编写网络编程程序,需要进行一下步骤:(1)定义协议类,它继承自protocol,(2)定义factory类,它用于实例化协议类的对象,(3)定义reactor,启动reactor 。下面是使用T...
Python网络字节序和主机字节序

Python网络字节序和主机字节序

在C中关于网络字节序和主机字节序困扰了我一段时间,在python中实现字节流的网络传输,必然这个问题也不可避免,但是我觉得在python中解决这个问题和演示起来比较方便一点。上次用struct的pack方法实现了字节流(见 http://www.linuxidc.com/Linux/2014-02/97158.htm),那么这里就牵涉到一个字节流的字节序问题,当一个16位的int型数据形成01的字节流时,是高位在前,还是低位在前?这里分为网络字节序,和主机...
Python模块——struct(字节流,组包拆包实现)

Python模块——struct(字节流,组包拆包实现)

我们知道python只定义了6种数据类型,字符串,整数,浮点数,列表,元组,字典。但是C语言中有些字节型的变量,在python中该如何实现呢?这点颇为重要,特别是要在网络上进行数据传输的话。python提供了一个struct模块来提供转换。下面就介绍这个模块中的几个方法。struct.pack():struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。...
Python实现UDP通信

Python实现UDP通信

UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定是否完整地到达了另外一端。UDP广泛应用于需要相互传输数据的网络应用中,如QQ使用的就是UDP协议。在网络质量不好的情况下,使用UDP协议时丢包现象十分严重,但UDP占用资源少,处理速度快,UDP依然是传输数据时常用的协议。下面是用python实现UDP服务器的代码:#!/usr/bin/env pythonimport socketaddress=("12...
黑客植入后门程序 涉及中国3000多家政府网站

黑客植入后门程序 涉及中国3000多家政府网站

据央视20日报道,国家互联网应急中心昨天公布了《2012我国互联网网络安全报告》。监测发现,三千多家政府网站曾经被植入后门程序,借助后门程序,黑客就可以控制这些网站。后门程序其实就是黑客制造的一种网络病毒,主要潜伏在网站内部。据国家互联网应急中心监测,2012年,我国境内被暗中植入后门程序的网站有52324个,其中,政府网站有3016个,较2011年月均分别大幅增长213.7%和93.1%。经过通知提醒,绝大部分政府网站已经修补漏洞,但大量中小企业网站,漏...
澳大利亚抓获黑客组织头目 曾涉嫌入侵CIA

澳大利亚抓获黑客组织头目 曾涉嫌入侵CIA

澳大利亚联邦警察已经逮捕了一名男子,该男子自称是黑客组织Lulz Security(LulzSec)的头目。据了解,黑客组织"LulzSec"因入侵美国CIA、国会参议院、运营商AT&T和日本索尼公司等政府和企业网站而"闻名",甚至入侵并发布55家色情网站信息。该组织2011年6月25日宣布散伙。据ABC澳大利亚新闻报道,涉案嫌疑人是一名24岁的男子,他将会受到窃听罪的指控。早在2012年,已有两名LulzSec成员被捕,并承认曾参与对Sony公司...
Binary Search Tree(BST)二叉搜索树的实现-Java语言

Binary Search Tree(BST)二叉搜索树的实现-Java语言

1.关于二叉搜索树的定义,二叉搜索树是具有以下特征的一棵二叉树:(1)若一个节点有左孩子,则此节点值大于它左孩子的节点值;(2)若一个孩子有右孩子,则此节点值不小于它右孩子的节点值;(3)对其左孩子和右孩子为根节点的子树递归的具有此条性质。在《COMPUTER ALGORITHMS Introduction to Design and Analysis》一书中对BST的定义如下:A binary tree in which the nodes have k...
新的 Java 安全漏洞影响桌面和服务器

新的 Java 安全漏洞影响桌面和服务器

Adam Gowdiak 因为发现 Java 的漏洞而成名,他刚刚又 报告 一个新的漏洞 Security issue 61,Gowdiak 称该漏洞影响当前最新的 Java SE 7 版本,包括刚刚发布的 1.7.0_21-b11。该漏洞再次存在于 Reflection API ,导致攻击者可以完全避开语言的沙箱机制来访问底层系统。 Gowdiak 没有发布该漏洞的进一步详细描述,为的是让 Oracle 有足够的时间来修复这个问题。via h-onlin...
用C++开发工程时项目的管理: .h和.cpp文件的存放

用C++开发工程时项目的管理: .h和.cpp文件的存放

在用C++开发大型工程时,如何组织文件的存放很重要。总的来说,.h文件用于存放对类的定义,包括类中的数据成员和函数成员。.cpp文件用于实现了类中的成员函数。为了便于理解,有以下例子:我们用C++实现了一个二叉树的类,其中对类的定义放在BinaryTree.h文件中:#pragma once #include"iostream"using namespace std;struct Node{char data;Node *l;Node *r;};class...
插入排序的思想与实现InsertSort

插入排序的思想与实现InsertSort

简单来说,插入排序的思想是将待排序数列(这里用数组表示)分为已排好序和未排好序的两部分,一般将前面先排有序,例如:a[0]...a[i]已经有序,剩下的任务就是将a[i+1]...依次插入到前面有序的数列中,并同时使前面的序列仍然有序。插入排序的开销主要在:找待插入的位置。最坏的情况是原序列是逆序的,每次都要找到最前,开销是 1+2+3+...n-1=n*(n-1)/2,故时间复杂度是O(n*n).在插入的过程中还需要平移前面的数列。但是这个时间开销是伴随...
<< 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 >>