收到客戶端 P2PConnectionPacket,轉發 P2PPurchHolePacket 給目標使用者:
private void ProcP2PConnectMsg(Packet packet, IPEndPoint remoteEP) {
P2PConnectionPacket transMsg = (P2PConnectionPacket)packet;
printf("{0}({1}) wants to p2p {2}", remoteEP.Address, transMsg.UserName, transMsg.ToUserName);
PeerEntity toUser = userList.SingleOrDefault(c => c.UserName == transMsg.ToUserName);
P2PPurchHolePacket transMsg2 = new P2PPurchHolePacket(transMsg.UserName, toUser.UserName);
byte[] buffer = UtilityHelper.Serialize(transMsg2);
server.Send(buffer, buffer.Length, toUser.RemoteEndPoint);
}
a、伺服器端
b、客戶端
期待大家共同討論、共同進步!