摘要:
duandetaoPython边学边用--BT客户端实现之(三)Peer协议设计与peer建立tcp连接后,首先发送handshake消息进行握手handshake消息格式如下:一个字节0x19 + 一个字符串'BitTorrent protocol' + 8 byte 保留字节默认值为0(draft中对保留字节有定义)+ 种子文件中info 部分的sha1字,大小为20个字节 + 20个自己的peer id(从tracker获取到的peer信息大多没有peerid,这个可以使用本地的peer id)如果handshake信息协商不上,tcp连接将被关闭。BT标准BEP-3中定
阅读全文
posted @ 2012-10-08 10:00
HackerVirus
阅读(550)
推荐(0)
摘要:
一、简单介绍 这是在博客园潜水几个月第一次开始想要写点东西,一是记录自己的学习过程,二是和大家分享同时接受大家的指正,再者可以多交一些朋友,我微博地址在公告栏里,互粉哦。。。。这是最近上数据结构时的练习题,首先是队列的实现,再用队列去模拟解决一个实际问题——轮渡模拟。二、问题分析 2.1 问题描述:轮渡模拟:有一个渡口,每条渡船能一次性装载10辆汽车过河,车辆分为客车和货车两类。上渡轮有如下规定:同类汽车先到先上船,客车先于货车上船,轮渡每10分钟一班。模拟一小时内汽车上渡轮的过程。汽车:包含一个汽车类型属性,一个到达时间属性,到达时间随机产生。轮渡:包含一个装车情况的属性,一个出发...
阅读全文
posted @ 2012-10-08 09:58
HackerVirus
阅读(676)
推荐(0)
摘要:
前言:这篇博客我主要说一下C#中泛型的使用,也就是List和Dictionary字典集合的使用,我在这里说的主要说的是如何去使用,而不是长篇大论的去研究泛型的底层,但我们有一定程序的时候在研究,使学习的能够很快的学习集合然后自己研究集合的一些高级用法,不在最后还列举出了一些常用的小案例。泛型集合(1) 泛型集合就是不确定的集合,语法中有一个尖括号,里面放什么类型,这个集合就变成什么类型(2)List 1)举例说明:?1234567891011121314151617181920212223staticvoidMain(string[] args){List<int> listInt
阅读全文
posted @ 2012-10-08 09:57
HackerVirus
阅读(181)
推荐(0)
摘要:
昨天用python写了一个天气预报采集,今天趁着兴头写个新闻采集的。 目标是,将腾讯新闻主页上所有新闻爬取下来,获得每一篇新闻的名称、时间、来源以及正文。 接下来分解目标,一步一步地做。 步骤1:将主页上所有链接爬取出来,写到文件里。 根据上一篇文章的方法,可以简单地获取到整个主页的文本内容。 我们都知道html链接的标签是“a”,链接的属性是“href”,也就是要获得html中所有tag=a,attrs=href 值。 查阅了资料,一开始我打算用HTMLParser,而且也写出来了。但是它有一个问题,就是遇到中文字符的时候无法处理。1 class parser(HTMLPars...
阅读全文
posted @ 2012-10-08 09:57
HackerVirus
阅读(580)
推荐(0)
摘要:
前做金融业的项目,该公司每天会产生很多 Word、Excel 文档,需要大量地转换为 PDF,除了自己保存外,也要给金融主管机构作为备份。由于文档数量很多,希望有工具能在下班前、作完设置后,放着让机器自动、大量地批转;除此之外,亦希望有特殊的功能,例如给主管机构的 Excel 文档,能仅选择其中某几个 sheet (工作表) 转成 PDF。 我找了网络上许多 PDF 转换工具,没有完全符合上述需求的,只好自己用 .NET / VSTO 写一个。开发环境:(1) VS 2008/ Windows Form / VB.NET /VSTO(2) Office 2007 或 Office 2010 或
阅读全文
posted @ 2012-10-07 11:24
HackerVirus
阅读(231)
推荐(2)
摘要:
TCP 套接字函数,系统调用时序图connect函数头文件:#include <sys/socket.h>原型:intconnect(intsockfd,conststructsockaddr* servaddr, socklen_t addrlen);参数:sockfd是socket函数返回的套接字描述符,servaddr指向套接字地址结构的指针(理解为对端的地址), addrlen该结构的大小,可通过sizeof(structsockaddr)获得。返回值:成功返回0,出错返回-1.功能:建立socket连接。(1)client在调用connect前不必非得调用bind函数,因
阅读全文
posted @ 2012-10-07 11:24
HackerVirus
阅读(285)
推荐(0)
摘要:
首先还是贴一下源代码地址 https://github.com/goodspeedcheng/sblog上一篇文章我们介绍了静态文件使用以及如何使用from实现对blog的增删改,这篇将介绍如何给blog添加评论模块1、添加comments库comments库是是django框架内置的一个评论库,可以快速的搭建岀一个评论系统,不过再自定义方面有些麻烦,不想用的话也可以自己动手编写comments 文档地址https://docs.djangoproject.com/en/1.4/ref/contrib/comments/激活comments方法在setting.pyINSTALLED_APP
阅读全文
posted @ 2012-10-07 11:23
HackerVirus
阅读(332)
推荐(0)
摘要:
操作系统使用Windows Server 2012,数据库使用Sql server 2012,Alm工具使用Team fundation server 2012,Ide使用Visual studio 2012。整个开发环境重新安装,过程中的要点记录如下:一、安装Windows Server 2012之后,为了使用的方便,如下配置:1、启动时不需要按Ctrl+Alt+Del: 控制面板|管理工具|本地安全设置,弹出本地安全设置窗口,然后选择“安全设置|本地策略|安全选项”,在右侧,“交互式登陆:无需按Ctrl-Alt-Del”改为“已启用”。2、允许未登录时关机: 控制面板|管理工具|本地安全.
阅读全文
posted @ 2012-10-07 11:22
HackerVirus
阅读(415)
推荐(0)
摘要:
NodeJs新手学习笔记练习项目大纲导言NodeJs的个人看法练习项目大纲导言毕竟已经不是第一次学编程了,所以就想着折腾点好玩的东西,去NodeJS官网和CnodeJs转一圈以后,慢慢的有点感觉了,把学习过程中的点点滴滴记录下来当做一个一个存档或者为nodejs做一份贡献吧.NodeJs的个人看法NodeJs里面最经典的例子莫过于那个http服务器了,也是目前而言最成熟的nodejs学习的案例.在学习nodejs的过程中发现,很少发现有Nodejs 更移动客户端打交道的资料,个人愚见,nodejs的异步IO模型非常适合用于在移动客户端的领域里面,举个不太严谨的例子,例如上传一张图片,在当前的移
阅读全文
posted @ 2012-10-07 11:21
HackerVirus
阅读(208)
推荐(0)
摘要:
前言:微软在2009年3月份推出了MVC之后,可以说是发展的速度非常快,仅仅过了不到3年的时间,MVC版本已经从1.0到达4.0,尤其是2.0和3.0之间的过渡可以说是非常的大,因此我们以前用2.0版本开发的项目已经过了啊,又要重新开发,多费事啊,我这里告诉你,完全没有必要,因为我们有专门的转换工具可以实现项目的转换,下面我就详细的讲解一下这个过程,首先你要有开发环境和一个用MVC2.0开发的项目,接下来的步骤听我慢慢说来1. 就用著名的telerick团队打造的RazorConverter吧! 下载网址:https://github.com/telerik/razor-converter2.
阅读全文
posted @ 2012-10-07 11:20
HackerVirus
阅读(269)
推荐(0)