diff --git a/.vs/HaoYueTunnel/DesignTimeBuild/.dtbcache.v2 b/.vs/HaoYueTunnel/DesignTimeBuild/.dtbcache.v2 index 1a45616..860c722 100644 Binary files a/.vs/HaoYueTunnel/DesignTimeBuild/.dtbcache.v2 and b/.vs/HaoYueTunnel/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/442de58a-c9d4-4609-9d0d-66c6235e3430.vsidx b/.vs/HaoYueTunnel/FileContentIndex/442de58a-c9d4-4609-9d0d-66c6235e3430.vsidx deleted file mode 100644 index b66784d..0000000 Binary files a/.vs/HaoYueTunnel/FileContentIndex/442de58a-c9d4-4609-9d0d-66c6235e3430.vsidx and /dev/null differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/4a56e640-2dbd-4fe3-9539-17f589dd9d88.vsidx b/.vs/HaoYueTunnel/FileContentIndex/4a56e640-2dbd-4fe3-9539-17f589dd9d88.vsidx deleted file mode 100644 index 346be33..0000000 Binary files a/.vs/HaoYueTunnel/FileContentIndex/4a56e640-2dbd-4fe3-9539-17f589dd9d88.vsidx and /dev/null differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/51c343b2-77d6-48c8-821e-55e1845b6807.vsidx b/.vs/HaoYueTunnel/FileContentIndex/51c343b2-77d6-48c8-821e-55e1845b6807.vsidx deleted file mode 100644 index 7891078..0000000 Binary files a/.vs/HaoYueTunnel/FileContentIndex/51c343b2-77d6-48c8-821e-55e1845b6807.vsidx and /dev/null differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/5c8ee9ee-fd75-4199-a53b-c27b94bd01f2.vsidx b/.vs/HaoYueTunnel/FileContentIndex/5c8ee9ee-fd75-4199-a53b-c27b94bd01f2.vsidx new file mode 100644 index 0000000..208e417 Binary files /dev/null and b/.vs/HaoYueTunnel/FileContentIndex/5c8ee9ee-fd75-4199-a53b-c27b94bd01f2.vsidx differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/8724dabf-7aa7-42a1-8f9f-bd24ede189e3.vsidx b/.vs/HaoYueTunnel/FileContentIndex/8724dabf-7aa7-42a1-8f9f-bd24ede189e3.vsidx deleted file mode 100644 index 0a7e546..0000000 Binary files a/.vs/HaoYueTunnel/FileContentIndex/8724dabf-7aa7-42a1-8f9f-bd24ede189e3.vsidx and /dev/null differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/ac14b4d3-f546-4e14-add3-4ee1ecf4770e.vsidx b/.vs/HaoYueTunnel/FileContentIndex/ac14b4d3-f546-4e14-add3-4ee1ecf4770e.vsidx new file mode 100644 index 0000000..5191468 Binary files /dev/null and b/.vs/HaoYueTunnel/FileContentIndex/ac14b4d3-f546-4e14-add3-4ee1ecf4770e.vsidx differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/bf9742b8-d643-4adc-9e68-f7ae8a1cc45a.vsidx b/.vs/HaoYueTunnel/FileContentIndex/bf9742b8-d643-4adc-9e68-f7ae8a1cc45a.vsidx new file mode 100644 index 0000000..d54a552 Binary files /dev/null and b/.vs/HaoYueTunnel/FileContentIndex/bf9742b8-d643-4adc-9e68-f7ae8a1cc45a.vsidx differ diff --git a/.vs/HaoYueTunnel/FileContentIndex/c9262c5b-afb4-4c4e-8123-c6f93e013062.vsidx b/.vs/HaoYueTunnel/FileContentIndex/c9262c5b-afb4-4c4e-8123-c6f93e013062.vsidx new file mode 100644 index 0000000..0de621b Binary files /dev/null and b/.vs/HaoYueTunnel/FileContentIndex/c9262c5b-afb4-4c4e-8123-c6f93e013062.vsidx differ diff --git a/.vs/HaoYueTunnel/v17/.suo b/.vs/HaoYueTunnel/v17/.suo index 889b95a..7bc6128 100644 Binary files a/.vs/HaoYueTunnel/v17/.suo and b/.vs/HaoYueTunnel/v17/.suo differ diff --git a/Client-Cli/Program.cs b/Client-Cli/Program.cs index 750bca0..7152f25 100644 --- a/Client-Cli/Program.cs +++ b/Client-Cli/Program.cs @@ -10,6 +10,7 @@ EventSystem.Instance.RegisterEvent(EEvent.TcpTunnelHelloResp, OnTcpTunnelHelloRe EventSystem.Instance.RegisterEvent(EEvent.UserJoin, OnUserJoin); EventSystem.Instance.RegisterEvent(EEvent.UserLeave, OnUserLeave); EventSystem.Instance.RegisterEvent(EEvent.OnChatMsg, OnChatMsg); +EventSystem.Instance.RegisterEvent(EEvent.OnP2PChatMsg, OnP2PChatMsg); while (true) { @@ -57,6 +58,14 @@ while (true) } App.chat.SendChatMsg(CmdArr[1]); break; + case "tusay": + if (CmdArr.Length < 3) + { + Console.WriteLine("缺省参数"); + return; + } + App.p2pChat.SendChatMsg(Convert.ToInt64(CmdArr[1]), CmdArr[2]); + break; case "ulist": { UserInfo[] ulist = App.userMgr.GetUserInfo(); @@ -100,3 +109,8 @@ void OnChatMsg(string str1, string str2) { Console.WriteLine($"[Chat]{str1}:{str2}"); } + +void OnP2PChatMsg(long uid, string str2) +{ + Console.WriteLine($"[P2PChatMsg]{uid}:{str2}"); +} diff --git a/ClientCore/App.cs b/ClientCore/App.cs index 228da01..7a960c1 100644 --- a/ClientCore/App.cs +++ b/ClientCore/App.cs @@ -17,6 +17,7 @@ namespace ClientCore public static LogManager log; public static ClientManager clientMgr; public static P2PTcp p2ptcp; + public static P2PChat p2pChat; public static NetworkHelper networkMain; public static NetworkHelper networkTcp2S; public static AppLogin login; @@ -32,6 +33,7 @@ namespace ClientCore clientMgr = new ClientManager(); clientMgr.SetIpData(IP, port, tcptunnelport); p2ptcp = new P2PTcp(); + p2pChat = new P2PChat(); networkMain = new NetworkHelper(Enum.ServerType.MainServer); networkMain.Init(IP, port); //networkTcp2S = new NetworkHelper(Enum.ServerType.TcpTunnelServer); diff --git a/ClientCore/Event/EEvent.cs b/ClientCore/Event/EEvent.cs index 7c52d8a..9da1510 100644 --- a/ClientCore/Event/EEvent.cs +++ b/ClientCore/Event/EEvent.cs @@ -13,6 +13,7 @@ namespace ClientCore.Event UserJoin, UserLeave, OnChatMsg, + OnP2PChatMsg, //打洞流程 TcpTunnelHelloResp, diff --git a/ClientCore/Manager/P2PChat.cs b/ClientCore/Manager/P2PChat.cs index 574f5f7..c701e04 100644 --- a/ClientCore/Manager/P2PChat.cs +++ b/ClientCore/Manager/P2PChat.cs @@ -7,17 +7,22 @@ namespace ClientCore.Manager { public class P2PChat { - public P2PChat() + public P2PChat() { - //NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdChatmsg, RecvChatMsg); + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdTcpP2PChat, RecvChatMsg); } - public void SendChatMsg(long UID,string ChatMsg) + public void SendChatMsg(long UID, string ChatMsg) { Protobuf_TcpP2P_Chat msg = new Protobuf_TcpP2P_Chat() { ChatMsg = ChatMsg, }; - App.clientMgr.SendToTargetSocket(UID,(int)CommandID.CmdTcpP2PChat ,ProtoBufHelper.Serizlize(msg)); + App.clientMgr.SendToTargetSocket(UID, (int)CommandID.CmdTcpP2PChat, ProtoBufHelper.Serizlize(msg)); + } + public void RecvChatMsg(long uid, byte[] reqData) + { + Protobuf_TcpP2P_Chat msg = ProtoBufHelper.DeSerizlize(reqData); + EventSystem.Instance.PostEvent(EEvent.OnP2PChatMsg, uid, msg.ChatMsg); } } } diff --git a/ClientCore/Network/NetMsg.cs b/ClientCore/Network/NetMsg.cs index f2f2d74..4869d13 100644 --- a/ClientCore/Network/NetMsg.cs +++ b/ClientCore/Network/NetMsg.cs @@ -18,6 +18,11 @@ InterRegNetMsgEvent(cmd, callback); } + public void RegNetMsgEvent(int cmd, Action callback) + { + InterRegNetMsgEvent(cmd, callback); + } + private void InterRegNetMsgEvent(int cmd, Delegate callback) { if (netEventDic.ContainsKey(cmd)) @@ -42,6 +47,11 @@ InterUnregisterCMD(evt, tempDelegate); } + public void UnregisterCMD(int evt, Action callback) + { + Delegate tempDelegate = callback; + InterUnregisterCMD(evt, tempDelegate); + } private void InterUnregisterCMD(int cmd, Delegate callback) { if (netEventDic.ContainsKey(cmd)) @@ -53,6 +63,25 @@ #endregion #region PostEvent + public void PostNetMsgEvent(int cmd, long uid, byte[] arg) + { + List eventList = GetNetEventDicList(cmd); + if (eventList != null) + { + foreach (Delegate callback in eventList) + { + try + { + ((Action)callback)(uid,arg); + } + catch (Exception e) + { + App.log.Error(e.Message); + } + } + } + } + public void PostNetMsgEvent(int cmd, byte[] arg) { List eventList = GetNetEventDicList(cmd); diff --git a/ClientCore/Network/NetworkHelper.cs b/ClientCore/Network/NetworkHelper.cs index bd87060..299a51d 100644 --- a/ClientCore/Network/NetworkHelper.cs +++ b/ClientCore/Network/NetworkHelper.cs @@ -66,7 +66,14 @@ namespace ClientCore.Network try { //抛出网络数据 - NetMsg.Instance.PostNetMsgEvent(CMDID, data); + if (mServerType == ServerType.TcpP2PTarget) + { + NetMsg.Instance.PostNetMsgEvent(CMDID, mUID,data); + } + else + { + NetMsg.Instance.PostNetMsgEvent(CMDID, data); + } } catch (Exception ex) { diff --git a/ClientCore/obj/Debug/net7.0/ClientCore.assets.cache b/ClientCore/obj/Debug/net7.0/ClientCore.assets.cache index 2a597f0..dc19662 100644 Binary files a/ClientCore/obj/Debug/net7.0/ClientCore.assets.cache and b/ClientCore/obj/Debug/net7.0/ClientCore.assets.cache differ diff --git a/ClientCore/obj/Debug/net7.0/ClientCore.csproj.FileListAbsolute.txt b/ClientCore/obj/Debug/net7.0/ClientCore.csproj.FileListAbsolute.txt index e69de29..6b9e748 100644 --- a/ClientCore/obj/Debug/net7.0/ClientCore.csproj.FileListAbsolute.txt +++ b/ClientCore/obj/Debug/net7.0/ClientCore.csproj.FileListAbsolute.txt @@ -0,0 +1,17 @@ +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\ClientCore.deps.json +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\ClientCore.dll +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\ClientCore.pdb +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\Google.Protobuf.dll +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\HaoYueNet.ClientNetwork.dll +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\Protobuf.dll +F:\Sin365\HaoYueTunnel\ClientCore\bin\Debug\net7.0\Protobuf.pdb +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.csproj.AssemblyReference.cache +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.GeneratedMSBuildEditorConfig.editorconfig +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.AssemblyInfoInputs.cache +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.AssemblyInfo.cs +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.csproj.CoreCompileInputs.cache +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.csproj.CopyComplete +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.dll +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\refint\ClientCore.dll +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ClientCore.pdb +F:\Sin365\HaoYueTunnel\ClientCore\obj\Debug\net7.0\ref\ClientCore.dll diff --git a/Protobuf/obj/Debug/net7.0/Protobuf.assets.cache b/Protobuf/obj/Debug/net7.0/Protobuf.assets.cache index 25bed02..4dae81b 100644 Binary files a/Protobuf/obj/Debug/net7.0/Protobuf.assets.cache and b/Protobuf/obj/Debug/net7.0/Protobuf.assets.cache differ diff --git a/Protobuf/obj/Debug/net7.0/Protobuf.csproj.FileListAbsolute.txt b/Protobuf/obj/Debug/net7.0/Protobuf.csproj.FileListAbsolute.txt index e69de29..b50d364 100644 --- a/Protobuf/obj/Debug/net7.0/Protobuf.csproj.FileListAbsolute.txt +++ b/Protobuf/obj/Debug/net7.0/Protobuf.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +F:\Sin365\HaoYueTunnel\Protobuf\bin\Debug\net7.0\Protobuf.deps.json +F:\Sin365\HaoYueTunnel\Protobuf\bin\Debug\net7.0\Protobuf.dll +F:\Sin365\HaoYueTunnel\Protobuf\bin\Debug\net7.0\Protobuf.pdb +F:\Sin365\HaoYueTunnel\Protobuf\bin\Debug\net7.0\Google.Protobuf.dll +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.csproj.AssemblyReference.cache +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.GeneratedMSBuildEditorConfig.editorconfig +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.AssemblyInfoInputs.cache +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.AssemblyInfo.cs +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.csproj.CoreCompileInputs.cache +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.csproj.CopyComplete +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.dll +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\refint\Protobuf.dll +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\Protobuf.pdb +F:\Sin365\HaoYueTunnel\Protobuf\obj\Debug\net7.0\ref\Protobuf.dll diff --git a/Server/obj/Debug/net7.0/Server.assets.cache b/Server/obj/Debug/net7.0/Server.assets.cache index a09d4ed..abe237f 100644 Binary files a/Server/obj/Debug/net7.0/Server.assets.cache and b/Server/obj/Debug/net7.0/Server.assets.cache differ diff --git a/Server/obj/Debug/net7.0/Server.csproj.FileListAbsolute.txt b/Server/obj/Debug/net7.0/Server.csproj.FileListAbsolute.txt index e69de29..84a3a6f 100644 --- a/Server/obj/Debug/net7.0/Server.csproj.FileListAbsolute.txt +++ b/Server/obj/Debug/net7.0/Server.csproj.FileListAbsolute.txt @@ -0,0 +1,22 @@ +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Server.exe +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Server.deps.json +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Server.runtimeconfig.json +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Server.dll +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Server.pdb +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Protobuf.dll +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\ServerCore.dll +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\HaoYueNet.ServerNetwork.dll +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Google.Protobuf.dll +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\ServerCore.pdb +F:\Sin365\HaoYueTunnel\Server\bin\Debug\net7.0\Protobuf.pdb +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.csproj.AssemblyReference.cache +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.GeneratedMSBuildEditorConfig.editorconfig +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.AssemblyInfoInputs.cache +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.AssemblyInfo.cs +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.csproj.CoreCompileInputs.cache +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.csproj.CopyComplete +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.dll +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\refint\Server.dll +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.pdb +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\Server.genruntimeconfig.cache +F:\Sin365\HaoYueTunnel\Server\obj\Debug\net7.0\ref\Server.dll diff --git a/ServerCore/obj/Debug/net7.0/ServerCore.assets.cache b/ServerCore/obj/Debug/net7.0/ServerCore.assets.cache index 5694e5d..d6aa0d3 100644 Binary files a/ServerCore/obj/Debug/net7.0/ServerCore.assets.cache and b/ServerCore/obj/Debug/net7.0/ServerCore.assets.cache differ diff --git a/ServerCore/obj/Debug/net7.0/ServerCore.csproj.FileListAbsolute.txt b/ServerCore/obj/Debug/net7.0/ServerCore.csproj.FileListAbsolute.txt index e69de29..920fdb7 100644 --- a/ServerCore/obj/Debug/net7.0/ServerCore.csproj.FileListAbsolute.txt +++ b/ServerCore/obj/Debug/net7.0/ServerCore.csproj.FileListAbsolute.txt @@ -0,0 +1,17 @@ +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\ServerCore.deps.json +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\ServerCore.dll +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\ServerCore.pdb +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\Google.Protobuf.dll +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\HaoYueNet.ServerNetwork.dll +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\Protobuf.dll +F:\Sin365\HaoYueTunnel\ServerCore\bin\Debug\net7.0\Protobuf.pdb +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.csproj.AssemblyReference.cache +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.GeneratedMSBuildEditorConfig.editorconfig +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.AssemblyInfoInputs.cache +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.AssemblyInfo.cs +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.csproj.CoreCompileInputs.cache +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.csproj.CopyComplete +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.dll +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\refint\ServerCore.dll +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ServerCore.pdb +F:\Sin365\HaoYueTunnel\ServerCore\obj\Debug\net7.0\ref\ServerCore.dll