技术文档
编程杂记
友情链接
C++ 实现Split函数功能
[原创] [shenjk] [2008-11-24 12:46:51]C++实现Split函数功能,网上有很多,用起来都不是很方便,呵呵,纯属个人见解,下面给出我的实现方法:C++代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/CStringList* CSplit::Split(CString String,CString Spliter) { CStringList *Strs = new CStringList(); int i_start=0; int i_end=-1; while((i_end=String
C++ UTF8转换成GB2312
[原创] [shenjk] [2008-11-24 9:29:39]在做数据采集时,遇到编码为UTF8的页面,采集到数据如果有中文,则出现乱码,因此需要将UTF8转换成GB2312C++ 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/CString CCaptureWebHtml::UTF8ToGB(CString & szOut) { WCHAR *strSrc; TCHAR *szRes; int i = MultiByteToWideChar(CP_UTF8, 0, szOut, -1, NULL,
工欲善其事,必先利其器——图文并茂详解VisualStudio使用技巧一
[转载] [佚名] [2008-11-21 10:03:40]VisualStudio虽然大家每天都在使用它,但是可能有些功能的使用大家并不清楚,甚至不知道有这项功能,下面这些技巧可能会对你有所帮助。先上目录:第一节:怎样给自己的代码添加版权信息。怎样给自己的代码添加代码段。怎样使用任务管理器。怎样使用发布网站功能。怎样把常用代码放到工具箱中的常规选项中。怎样怎样在多个窗口查看同一个文档。怎样创建区域,方便代码阅读及维护?怎样创建矩形选区?下面就一条一条来详解:1.怎样给代码添加版权信息。写代码经常会要写一些版权信息、或者一些常用的命名空间引用,如果每个页面都拷贝粘贴一遍,确实挺麻烦的。有什么可以让我们一劳永逸的办法呢?vs中的模板功能来可以帮助我们达到
P2P 之 TCP穿透NAT的原理
[转载] [佚名] [2008-11-19 22:31:42]原文:http://www.andrew.cmu.edu/user/ggw/WBFD.pdf摘要防火墙和网络地址转换(NAT)设备对于传统的P2P协议存在一定的问题。一些中间设备抑制了来自外部网络到内部网络的TCP请求,这篇文章的目的就是寻找一个能够在两个NAT设备内部的主机间建立TCP连接的方法。我们已经在两个普通的硬件条件下实现了这个功能。1.入门由于32位IP地址的减少,现在出现了很多通过一个internet地址代理内部网络上网的设备,这就是NAT技术。这些设备对于INTERNET已经越来越重要了,但是它们的独立发展因为缺乏标准而对现在的internet协议造成危害。2.技术典型的NAT
TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
[转载] [佚名] [2008-11-19 22:19:13]下载源代码这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!·¥%……·!”)。闲话少说,我们先看一下技术背景:Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用。NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的网络称为私网,处于NAT前的网络称为公网
C#实现P2P之UDP穿透NAT的原理
[转载] [佚名] [2008-11-19 22:13:37]论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念:NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。最开始NAT是运行在路由器上的一个功能模块。最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连接(呵呵,这
NAT详解
[转载] [佚名] [2008-11-19 22:02:21]NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。如图简单的说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部公网(intern
C#文件传输
[转载] [佚名] [2008-11-18 17:09:35]服务器用来接收文件,不停的监听端口,有发送文件就马上开始接收文件 服务端代码: C#代码using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.Threading; using System.Net.Sockets; usi