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、遠程協助的實現。
最後,希望大家共同討論、共同進步!!!