摘要: Udp打洞,判断Nat网络类型一种基于UDP协议实现P2P智能穿越NAT的方案摘要:由于目前NAT(NetworkAddressTranslation,网络地址转换协议)的广泛运用,处于Internet上的公网主机与处于NAT之后的主机建立对等连接是实现P2P(Peer-To-Peer,点对点)通信很关键的问题。本文在分析了基于UDP(UserDatagramProtocol,用户数据报)协议穿透NAT的实现原理的基础上,给出了一个基于UDP协议,根据不同NAT类型情况自适应选择NAT穿越方案,实现P2P通信的实现方案。关键词:UDP,NAT,P2P中图分类号:TP2731.引言NAT技术不仅 阅读全文
posted @ 2012-11-18 07:35 ☆A希亿 阅读(3334) 评论(0) 推荐(0) 编辑
摘要: 内容概述:在p2p通信领域中,由NAT(Network Address Translation,网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无法访问的问题。虽然目前已经发展出多种穿越NAT的技术,但相关的技术文档却很少,用来证明这些技术的稳定性和优点的实际数据更少。本文的目的在于描述和分析在实际中运用得最广泛、最可靠同时也是最简单的一种NAT穿越技术,该技术通常被称为“打洞”技术。目前,“打洞”技术已经在UDP通信领域中得到了广泛的理解和应用,在此,也将讨论如何利用它实现可靠的p2p的TCP流通信。在收集了大量的“打洞”技术可以穿越的N 阅读全文
posted @ 2012-11-18 07:31 ☆A希亿 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 1、如何判断一个链表是不是这类链表? 2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:bool IsExitsLoop(slist *head){ slist *slow = head, *fast = head; while ( fast && fast->next ) { slow = slow-&g 阅读全文
posted @ 2012-11-18 06:06 ☆A希亿 阅读(255) 评论(0) 推荐(0) 编辑