网络篇
文章平均质量分 54
xxxxxx91116
这个作者很懒,什么都没留下…
展开
-
【P2P网络】DHT协议基础1:Kademlia翻译稿
转载自:http://blog.csdn.net/hoping/article/details/5307320Kademlia :一种基于 XOR 度量的 P2P 信息系统Petar Maymounkov and David Mazieres{petar,dm}@cs.nyu.eduhttp://kademlia.scs.cs.nyu.eduNew York Uni转载 2012-10-18 23:39:27 · 2848 阅读 · 0 评论 -
【P2P网络】BitTorrent协议中文版2
元信息文件结构(Metainfo File Structure)元信息文件里面的所有数据都以B编码方式编码,B编码规范请参考本系列文档之B编码。元信息文件(就是平常咱们经常接触到的以.torrent为后缀的文件)的内容是一个B编码的dictionary,包含下面列出的键(key),其中字符串类型的值均以UTF-8编码。info:该键(key)对应的值是一个描述torrent文件的dic转载 2013-01-26 12:21:36 · 1809 阅读 · 0 评论 -
【Linux网络编程】同步,异步,阻塞,非阻塞
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不转载 2013-09-27 10:40:05 · 2788 阅读 · 1 评论 -
【P2P网络】BitTorrent的DHT协议(译自官方版本)
译者前序DHT协议早在2005年就已经成为了官方BitTorrent协议的一部份,但是我竟然一直没有找到国内的官方翻译稿,所以将其进行翻译,若文中错误,欢迎各位指正。其次,若想彻底理解DHT协议的原理,建议各位阅读Kademlia协议,在本博客中,有其翻译稿,参见DHT协议基础1,2.本文英文版官方地址:http://www.bittorrent.org/beps/bep_0005.h翻译 2012-09-12 14:00:06 · 32928 阅读 · 6 评论 -
隐蔽的内存泄漏——pthread_create 属性设置不当导致
遇到了同样的问题。。最近解决了一个隐蔽的内存泄漏问题,我们的进程是HA模式,用户不停的切换,会导致内存不停的增长,切换一次,再切回来内存便增加8M左右。原因就是是pthread_create后的僵死线程没有释放导致的内存持续增长。pthread_create (&thread, NULL, &thread_function, NULL); 就这么写了,参数2没有设置线程转载 2013-02-14 00:34:01 · 1436 阅读 · 0 评论 -
【P2P网络】Extension for Peers to Send Metadata Files翻译稿
Extension for Peers to Send Metadata Files这个扩展的目的是为了在最初没有.torrent文件的情况仍然能够加入swarm并能够完成下载。这个扩展能让客户端从peer哪里下载metadata。这让支持magnet link成为了可能,magnet link是一个web页上的链接,仅仅包含了足够加入swarm的足够信息(info hash)。翻译 2013-01-28 16:24:49 · 21910 阅读 · 0 评论 -
【P2P网络】BitTorrent协议中文版3
Tracker HTTP/HTTPS ProtocolTracker是一个响应HTTP GET请求的HTTP/HTTPS服务。这个请求包含来自客户端的度量信息,这些信息能够帮助Tracker全面地统计torrent。Tracker的响应包含一个peers列表,这个列表能够帮助客户端加入到torrent中。Base URL由元数据文件(即以.torrent为后缀的文件)中定义的announc转载 2013-01-26 12:24:12 · 2197 阅读 · 0 评论 -
【P2P网络】BitTorrent协议中文版1
鉴定BitTorrent是由布莱姆·科恩设计的一个端对端(peer to peer)文件共享协议,此协议使多个peers通过不可信任的网络的文件传输变得更容易。目的此规范的目的是详细介绍 BitTorrent 协议规范 v1.0 。Bram 的协议规范网站 http://www.bittorrent.com/protocol.html 简要地叙述了此协议,在部分范围缺少详细的行为阐述。转载 2013-01-26 12:20:08 · 2673 阅读 · 0 评论 -
【P2P网络】BitTorrent协议中文版4
Peer wire protocol (TCP)概述peer(端)协议使片(piece)的交换变得容易,片的描述请参考元信息文件。注意:原来的规范在描述peer协议时,也使用术语piece“(片)”,但是这不同于元信息文件里面的术语“piece(片)”,由于这个原因,在本规范中,将使用术语“块(block)”来描述peers(端)之间交换的数据。一个客户端(client)必须维持其转载 2013-01-26 12:25:43 · 4362 阅读 · 0 评论 -
【网络编程小Tip】linux recvfrom延迟问题,导致处理时出现错误包
今天在调试网络程序时,查看日志文件,发现很多的处理数据都提示,包错误,数据不完整等信息,但是用wireshark捕包确发现这些报文都是正确的,并没有错误。后来经过仔细分析原因如下: 由于是异步网络通信,尽管我的每个报文大小都是1024以内,基本可以保证无分包现象,但是可能导致recvfrom收到包时,由于计算机还没有来得及把收到的整个数据都放到缓冲区,我就进行处理了,所以那些报文在某原创 2012-12-23 16:25:49 · 1662 阅读 · 0 评论 -
【HTTP协议】Transfer-Encoding: chunked 长度不确定的http报文
Transfer-Encoding: chunked 表示输出的内容长度不能确定,普通的静态页面、图片之类的基本上都用不到这个。但动态页面就有可能会用到,但我也注意到大部分asp,php,asp.net动态页面输出的时候大部分还是使用Content-Length,没有使用Transfer-Encoding: chunked。不过如果结合:Content-Encoding: gzip转载 2012-09-05 19:39:47 · 7667 阅读 · 0 评论 -
【P2P网络】磁力链接转换为种子文件 magnet to torrent
作者:zxx1.前言 将种子文件转换为磁力链接很简单,只需要在种子文件的infohash码前面加上magnet:?xt=urn:btih:即可,相信大家在迅雷,utorrent等主流软件上也都能发现这个功能。 但是将磁力链接转换为种子文件就不那么简单了,因为sha-1算法是不可逆的,但是BT协议确提供了这个功能,但是我在网上没有找到中文的介绍,这里就将自己的研究心得原创 2012-09-12 15:02:32 · 704979 阅读 · 45 评论