2007-10-22

使用 Ideawu.P2P.Core.AccountManager 登录服务中心

Views: 11646 | Add Comments

节点必须先登录服务中心, 才能读取好友列表, 查询用户, 请求服务中心的帮助以便进行 NAT 穿透等.

// AccountManager 需要一个网络代理(IAgent)与服务中心进行通信,
// IAgent 可以基于 TCP, UDP, HTTP 等协议.
HttpAgent agent = new HttpAgent(); // 基于 HTTP 协议的网络代理.
agent.ServerUrl = "http://www.ideawu.net/?mediator";

// 创建一个用户判断本机是否在 NAT 之后, 以及帮助获取 Socket 的公网地址(IP:port).
NatHelper natHelper = new NatHelper();
natHelper.ServerEndPoint = new IPEndPoint(IPAddress.Parse("22.2.2.2"), 10215);
natHelper.Start();

// SessionListener 监听其它节点的会话请求, 决定是否接受某个请求.
// 你可以实现你自己的 SessionListener, 使 AccountManager 只接受
// 好友的连接请求, 拒绝黑名单中的用户的请求.
// 标准的 SessionListener 接受所有节点的会话请求.
StandardSessionListener sessionListener = new StandardSessionListener();
sessionListener.Start();

AccountManager am = new AccountManager();

am.Agent = agent;
am.NatHelper = natHelper;
am.SessionListener = sessionListener;

// 使用用户名和密码进行登录.
am.Login("user01", "my password ***", null);
am.Start();

备注: 本文是关于我的 P2P SDK 的介绍的一部分, 详细文档请见 http://www.ideawu.com/p2p/

Related posts:

  1. 使用 Ideawu.P2P.Core.UdpLink 进行 NAT 穿透
  2. Ideawu.P2P API 简介
  3. 3行代码的分页算法(求起始页和结束页)
  4. P2P应用的架构
  5. 快速排序算法(QuickSort)的代码实现
Posted by ideawu at 2007-10-22 22:03:58

Leave a Comment