程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c#實現的P2P網絡通訊程序(5)

c#實現的P2P網絡通訊程序(5)

編輯:關於C語言
、服務端請求客戶端建立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、遠程協助的實現。

最後,希望大家共同討論、共同進步!!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved