P2P网络通讯程序(c#)
2009-03-27 08:22:11 来源:WEB开发网b、服务端请求客户端建立p2p连接
private void ProcP2PConnectMsg(Packet packet,IPEndPoint remoteEP)
{
// 转换接受的消息
P2PConnectionPacket transMsg = (P2PConnectionPacket)packet;
printf("{0}({1}) wants to p2p {2}", remoteEP.Address.ToString(), transMsg.UserName, transMsg.ToUserName);
// 获取目标用户
PeerEntity toUser = userList.SingleOrDefault(c => c.UserName == transMsg.ToUserName);
// 转发Purch Hole请求消息
P2PPurchHolePacket transMsg2 = new P2PPurchHolePacket(transMsg.UserName, toUser.UserName);
//转发消息
byte[] buffer = UtilityHelper.Serialize(transMsg2);
server.Send(buffer, buffer.Length, toUser.RemoteEndPoint);
}
4、测试
a、服务端
b、客户端
困惑:
1、能不能实现外网通讯,要实现像QQ那样通讯要做哪些改进。
2、文件续传如何实现。
3、c#封装的网络操作类(像QQ.NET源码的Net实现)
4、远程协助的实现。
最后,希望大家共同讨论、共同进步!!!
更多精彩
赞助商链接