C# p2p(1)
- 博客分类:
- 技术杂绘
C# p2p(1)
2012年01月17日
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Net.PeerToPeer; namespace ConsoleApplication4
{
class Program
{
static string strMYPeername = "myApplicationName";
static string strAllMyPeername = "";
static int port;
static PeerNameRegistration peernameregistration; static void Main(string[] args)
{
registerPeer();
resoveName("0."+strMYPeername);
Console.Read();
} public static void getPort()
{
while (true)
{
port = new Random().Next(50000,51000);
try
{
TcpListener listener = new TcpListener(IPAddress.Any, port);
listener.Start();
}
catch
{
continue;
}
break;
}
} //把PNRP NAME 注册到Cloud中
public static void registerPeer()
{
getPort();//获取要连线的IP&PORT
PeerName peername = new PeerName(strMYPeername, PeerNameType.Unsecured);
//用peername创建注册群,然后把peername注册到群中
peernameregistration = new PeerNameRegistration(peername, port);
peernameregistration.Comment = "pnrp peer name 的其他描述信息";
peernameregistration.Data = Encoding.UTF8.GetBytes(string.Format("注册时间{0}",DateTime.Now.ToString()));
strAllMyPeername = peername.ToString();
peernameregistration.Start();
}
public static void resolverPeer(string myPeername)
{
PeerName peerName = new PeerName("0." + myPeername);
PeerNameResolver resolver = new PeerNameResolver();
PeerNameRecordCollection pmrcs = resolver.Resolve(peerName);
foreach (PeerNameRecord pmrc in pmrcs)
{
foreach (IPEndPoint endpoint in pmrc.EndPointCollection)
{
Console.WriteLine(endpoint);
}
}
}
///解析对等名称
public static void resoveName(string strPeerName)
{
PeerName mypeer = new PeerName(strPeerName);
PeerNameResolver myRes = new PeerNameResolver();
PeerNameRecordCollection recColl = myRes.Resolve(mypeer);
foreach (var record in recColl)
{
foreach (var endp in record.EndPointCollection)
{
if (endp.AddressFamily.Equals(AddressFamily.InterNetw ork))
{
Console.WriteLine(record.PeerName.ToString());
Console.WriteLine(endp.ToString());
Console.WriteLine(Encoding.UTF8.GetString(record.D ata));
Console.WriteLine(record.PeerName.PeerHostName);
}
}
}
}
}
}
发表评论
-
三极管场效应参数全集
2012-01-20 11:49 914三极管场效应参数全集 2012年01月18日 品 名 ... -
煤炉漏芦鲁梅毛梅陆露
2012-01-20 11:48 528煤炉漏芦鲁梅毛梅陆露 2011年10月02日 \u0 ... -
个人总结flex各种常用代码
2012-01-19 16:38 470个人总结flex各种常用代码 2011年07月22日 / ... -
常用JavaScript大全
2012-01-19 16:38 596常用JavaScript大全 2010年11月11日 1 ... -
【总结】Java EE知识点(持续更新)
2012-01-19 16:38 741【总结】Java EE知识点( ... -
Javascript 基本函数和技巧
2012-01-19 16:38 464Javascript 基本函数和技巧 2010年09月22日 ... -
JavaScript函数大全
2012-01-19 16:38 601JavaScript函数大全 2011年02月12日 1 ... -
对比java和python
2012-01-17 06:23 475对比java和python 2011年04 ... -
我的日志
2012-01-17 06:23 642我的日志 19小时前 毋痈“乜ψ不许撤退!菅”把 ... -
[强帖转载]C++、java、.net关系
2012-01-17 06:23 602[强帖转载]C++、java、.net关系 2011年03月 ... -
BusyBox 简化嵌入式 Linux 系统 (转载)
2012-01-17 06:23 449BusyBox 简化嵌入式 Linux 系统 (转载) 20 ... -
程序工具
2012-01-17 06:23 447程序工具 2010年10月15日 开发(Developm ... -
......的2011
2012-01-16 05:03 512......的2011 7小时前 前几日查日期,翻开日历 ... -
我的话语
2012-01-16 05:03 570我的话语 7小时前 ... -
怀念罹火
2012-01-16 05:03 452怀念罹火 2012年01月14日 ... -
百变女王
2012-01-16 05:03 329百变女王 2011年02月24日 Phan告诉你美貌瓜子 ... -
神马都是浮云啊。。
2012-01-16 05:03 540神马都是浮云啊。。 2010年06月28日 一天没有你的 ...
相关推荐
C# p2p软件 功能强大C# p2p软件 功能强大C# p2p软件 功能强大
c# 实现p2p通信,c#p2p局域网聊天源码,献给初学的朋友,源码无误,下载可用
c#P2P聊天工具 <br>
C#P2P聊天软件,内附有源代码,能够实现P2P聊天功能。
C# p2p 源码,包含源码和安装程序,一个优秀的P2P软件.采用C#开发.支持电驴协议
c#实现p2p局域网聊天小软件的源码, private void button1_Click(object sender, System.EventArgs e) { button1.Enabled = false; button2.Enabled = true; th = new Thread(new ThreadStart(Listen)); ...
C# P2P下载
C#实现P2P视频通信,适合初学者学习的C#开发实例。
c# P2P的使用,TCP,点对点聊天,群发,文件发送
C# p2p点对点聊天 有不足之处请提出 谢谢!
本代码实现了P2P流量的监测,实现了对IP包,UDP包,TCP包的抓取,并可对捕捉到的包进行分析.
p2p视频点播 基于C# 是个手写小程序 便于使用和学习
C# P2P聊天vs2005 C# C# P2P聊天vs2005 C#
c#实现p2p通讯的源代码,c#实现p2p通讯的源代码
C#p2p源码,聊天程序百分百可用的源码 五星级源码,不下绝对后悔!
c#实现p2p通讯的代码 c#实现p2p通讯的代码
C# P2P小例子代码C# P2P小例子代码C# P2P小例子代码
用Visual C#实现P2P应用程序,对学习P2P还是不错的~~
利用C#实现向远程主机传送信息,实现点对点的聊天功能
简单实现了客户端与客户端之间的文字通信,如同QQ好友之间相互通信