Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

总结P2P程序中UDP穿透难点

最难的一种NAT,这是从对称型NAT演变过来折和中NAT,叫做动态类型NAT。

使用traceroute/tcptraceroute确定动态NAT网络到目标主机的出口IP,为对方的NAT打洞提供目标IP信息。

有一种动态类型的NAT,这种NAT的网络出口IP是一个出口IP池中选出来的。

Category:

自己实现类RUDP协议

UDP协议是一种无状态,不可靠协议,这个描述指的是UDP包之间没有前后顺序关系,也不一定所有的包都能达到目标地址。
在UDP协议由于附带额外包数据小,不需要做包验证等特点,UDP协议效率还是比较高的。
所以,RFC结合TCP和UDP两种协议的优点,制订了RUDP协议标准。

RUDP的核心部分包括,加入包编号,包重传,包确认机制,模拟连接操作与断开连接操作。
标准RUDP协议为UDP包加了8字段的状态数据。

我在实现可靠UDP的时候,参考这RFC RUDP协议同标准,实现了包编号,包重传,包确认机制,
但没有实现模拟连接操作与断开操作。

之所以没有实现模拟三次握手连接,是发现连接包与其他数据包发送接收方式并不一致,
需要额外的方式保证连接包的可靠性。因为连接包参与编号和重传的话,控制上比较复杂,
还不如直接发送数据包,加上编号和和重传、确认,系统的可靠性就已经非常好了。

对stun/turn协议的认识与理解过程笔记

stun协议的全称是 Session Traversal Utilities for NAT,NAT会话传输应用程序

32位 arch linux上使用4G内存:PAE内核使用

原来2G内存的电脑,升级到4G内存后,由于系统是原版的32位archlinux,无法完全利用上4G内存。

在aur.archlinux.org上有个linux-pae内核包,用于32位系统上使用超过4G的内存。

按照编译普通aur包的方式编译出来新的内核包,

pacman -U linux-pae-3.14.3-2-i686.pkg.tar.xz linux-pae-headers-3.14.3-2-i686.pkg.tar.xz

重新使用新安装的内核启动系统。即可利用到4G以上的内存了。

不过,原来安装的一些内核模块需要重新编译安装,像virtualbox,vmware这种第三方的内核模块。

像virtualbox可以使用dkms install vboxhost/4.3.10命令安装,

内核模块安装到了/usr/lib/modules/3.14.3-2-pae/kernel/misc/

再用modprobe vboxdrv后,可以正常使用。

Category:

修改系统路由表, 自行控制网络路由

在登陆vpn后,vpn软件一般会修改系统的路由表,

把默认的路由改到使用vpn,这当然是登 陆vpn 的主要目的。

但有时,登陆vpn单纯只为了访问有些限制性网络,如公司内网,

而其他的网络请求,像浏览器访问网站,软件下载,根本不需要通过VPN。

这种情况下,由于走VPN的网络连接目标相对比较少,并且如果都走VPN的话,还可能导致有些请求变慢,

可以把系统的默认路由改为原来的,然后通过添加针对某些私有网络的访问目标的路由信息,

实现比较完善的支持这种需求的网络。

Category:

udp协议丢包严重啊

写了一个简单的大网udp协议程序,由于服务器之间网络状态不稳定,

丢包问题非常严重,正在阅读RUDP(reliable UDP)协议,和其他类似的加强UDP可靠性的相关协议,

像包顺序机制,包重传机制,包验证,包冗余机制等。

这里有个据说非常强的UDP应用,能够达到最大网络,http://asperasoft.com/resources/benchmarks/#vsftp-630

也可能参考下。

Category:

Linux运行goAgent提示:certutil: function failed: security library: bad database.

运行 proxy.py 是有错误提示,信息如下:

certutil: function failed: security library: bad database.

Code example:
1
2
3

Category:

GCC 4.9.0 发布,提升 C++11 和 C++14 特性

GCC 4.9.0 发布,此版本是个主要版本更新,包括了 GCC 4.8.x 系列和之前的 GCC 版本都没有的新特性,新特性非常之多,详细内容请看发行说明。

此版本已提供二进制包下载,镜像下载,FTP 下载。

文章转载自:开源中国社区 [http://www.oschina.net]
本文标题:GCC 4.9.0 发布,提升 C++11 和 C++14 特性
本文地址:http://www.oschina.net/news/51084/gcc-4-9-0

Category:

程序运行时动态修改进程名

在做平台的过程中,碰到一个可能的需要,平台服务的的进程名一般都不变的,
如果需要动态在外部监控进程的执行状态,比如程序正在执行什么功能,
也许可以通过动态修改进程的名字实现,可以把正在执行的功能做个摘要放在进程名字中。

在linux上,有一个系统调用prctl,这是一个综合性的函数,可以实现一些进程的控制功能。
动态修改进程名的功能也就是在prctl函数。

来看看prctl的函数原型,

NAME
prctl - operations on a process

SYNOPSIS

沉浸式学 Git

沉浸式学 Git 是一份强调通过实践来掌握 Git 基础用法的指南。 本书包含 52 个实验,这些实验经过精心设计,篇幅皆十分短小, 只需几分钟时间便可完成。对于想要快速学习 Git 的朋友而言, 这是一本不可多得的好书。

本书原作者为 Ruby 编程语言大师 Jim Weirich,我利用业余时间 翻译完成。

本书许可为 Creative Commons, Attribution-NonCommercial-ShareAlike License。
在线阅读:http://igit.linuxtoy.org/index.html
本书源码:https://github.com/xuxiaodong/gitimmersion

若有任何问题,欢迎反馈。

Category:

页面

订阅 www.qtchina.tk RSS


Main menu 2

by Dr. Radut