From 5c377d5d4b7015a5d9658fdf6cbc9087186e8938 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Thu, 29 Jun 2023 19:20:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84IOCP=E5=BA=93=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/HaoYueNet/DesignTimeBuild/.dtbcache.v2 | Bin 169652 -> 169652 bytes ...65f4044a-5631-45c1-a7a2-77cfd1e3ae25.vsidx | Bin 55567 -> 0 bytes ...9e91b62a-8855-4269-88bd-c6de227d189e.vsidx | Bin 49568 -> 0 bytes ...4162917-e392-4717-9613-4e8731b5d5a5.vsidx} | Bin 56599 -> 56599 bytes ...cb6d9d57-55ae-4f3d-ad82-1d96865e3b36.vsidx | Bin 0 -> 55829 bytes ...d203a6c3-bb80-4fe8-8455-e254fded3140.vsidx | Bin 0 -> 49600 bytes ...823861b-cc1f-4406-a67a-5aed462afb86.vsidx} | Bin 51849 -> 51849 bytes .vs/HaoYueNet/v17/.futdcache.v2 | Bin 2206 -> 2206 bytes .vs/ProjectEvaluation/haoyuenet.metadata.v5.2 | Bin 234915 -> 234041 bytes .vs/ProjectEvaluation/haoyuenet.projects.v5.2 | Bin 2604259 -> 2690355 bytes .../NetworkHelperCore.cs | 4 +- .../NetWork/SocketManager.cs | 266 ++++++------------ Simple/ServerCore/NetWork/IOCPNetWork.cs | 17 +- 13 files changed, 93 insertions(+), 194 deletions(-) delete mode 100644 .vs/HaoYueNet/FileContentIndex/65f4044a-5631-45c1-a7a2-77cfd1e3ae25.vsidx delete mode 100644 .vs/HaoYueNet/FileContentIndex/9e91b62a-8855-4269-88bd-c6de227d189e.vsidx rename .vs/HaoYueNet/FileContentIndex/{2427d48e-aaf4-4139-888b-36094d5059a5.vsidx => c4162917-e392-4717-9613-4e8731b5d5a5.vsidx} (73%) create mode 100644 .vs/HaoYueNet/FileContentIndex/cb6d9d57-55ae-4f3d-ad82-1d96865e3b36.vsidx create mode 100644 .vs/HaoYueNet/FileContentIndex/d203a6c3-bb80-4fe8-8455-e254fded3140.vsidx rename .vs/HaoYueNet/FileContentIndex/{877c20cb-cf51-44fb-9458-12e74eee5439.vsidx => e823861b-cc1f-4406-a67a-5aed462afb86.vsidx} (87%) diff --git a/.vs/HaoYueNet/DesignTimeBuild/.dtbcache.v2 b/.vs/HaoYueNet/DesignTimeBuild/.dtbcache.v2 index f0f8ccf4e7f60fe2be23bd53e122e150ee0f51bb..5841943b0ada8241a9d71ecc80e3cd0c171d01ec 100644 GIT binary patch literal 169652 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 Ilk)O^0h6AEw*UYD diff --git a/.vs/HaoYueNet/FileContentIndex/65f4044a-5631-45c1-a7a2-77cfd1e3ae25.vsidx b/.vs/HaoYueNet/FileContentIndex/65f4044a-5631-45c1-a7a2-77cfd1e3ae25.vsidx deleted file mode 100644 index 3e81c9deff570592d3487078c854adff086dc4a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55567 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 Wcm8~E{rjH}d-L;0{rk(G`uD$GWhB4= diff --git a/.vs/HaoYueNet/FileContentIndex/9e91b62a-8855-4269-88bd-c6de227d189e.vsidx b/.vs/HaoYueNet/FileContentIndex/9e91b62a-8855-4269-88bd-c6de227d189e.vsidx deleted file mode 100644 index ea8d1abe8127c4d992106b59aebcaaa41a1243b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49568 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 diff --git a/.vs/HaoYueNet/FileContentIndex/2427d48e-aaf4-4139-888b-36094d5059a5.vsidx b/.vs/HaoYueNet/FileContentIndex/c4162917-e392-4717-9613-4e8731b5d5a5.vsidx similarity index 73% rename from .vs/HaoYueNet/FileContentIndex/2427d48e-aaf4-4139-888b-36094d5059a5.vsidx rename to .vs/HaoYueNet/FileContentIndex/c4162917-e392-4717-9613-4e8731b5d5a5.vsidx index 602031505053735acbf0fd52eb1fbca25dec214c..7c0c91e6394d29ec64c147a0da01559bac9355ee 100644 GIT binary patch delta 4759 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 diff --git a/.vs/HaoYueNet/FileContentIndex/cb6d9d57-55ae-4f3d-ad82-1d96865e3b36.vsidx b/.vs/HaoYueNet/FileContentIndex/cb6d9d57-55ae-4f3d-ad82-1d96865e3b36.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..914b3a4086e4ab2e2b2b3a1d8a727a1a6b786e39 GIT binary patch literal 55829 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 literal 0 HcmV?d00001 diff --git a/.vs/HaoYueNet/FileContentIndex/877c20cb-cf51-44fb-9458-12e74eee5439.vsidx b/.vs/HaoYueNet/FileContentIndex/e823861b-cc1f-4406-a67a-5aed462afb86.vsidx similarity index 87% rename from .vs/HaoYueNet/FileContentIndex/877c20cb-cf51-44fb-9458-12e74eee5439.vsidx rename to .vs/HaoYueNet/FileContentIndex/e823861b-cc1f-4406-a67a-5aed462afb86.vsidx index b1b0be636b77840a1e72ebb649684e95dac079bf..a3826611de230e281d9b5ffc835ebbba89689afb 100644 GIT binary patch delta 1972 zcmah~T}V_x6rNe{Zrf70+FICy{TR5A1r_AWLL*)6p`bO~9(w6vCHldjEJBRPB-7F| zPgZ8zkEpe4nR%tsEG4t7ke-4B>miCFB8rIUhiuN7y?bvVwlKrYopZi(zVDowt!_xF zZb<5UUg2^v#yB%xR)E8cYp)!v5LX&A$}1Q0bWN^Zfj&;?(@N4Hi` zT2(X$jnS2Hhn$q}6uBB#*zl_=n}W+Qi>s$O%(XZ&i?2cxAqNxaOCi08N6Go{8|A9~ zFUGl=`Ei2qpeD z)DE9V5t5%Yh#otxEaZ-9hF;g4WCDGFVn4<%L{W5vNs)sI%wjiA#R=9yC_jDZ}@7-XRPi;AvBjN98EDPN+W{G*fF-VG42S~njh{~x*;i<-;?b2_GA`2M1TxTvt zw9qccn)*!IDo=P4O}8`u81>uBHa8ZaJ1k@Xb=^Y584B8GKt-&=CXL~3538EUOiHgT zG5L002~($$Sb2!UjrmuXaCp@}V}Xu)x@!B7riMvrR3fA#+-B;r(J`B-lb-ls(V|^3%cy~ z8}n;MUzXJlX|T30U~Qey&{s0aWtev-V9FN0^O|Rp2r>=Z9UP~dZ5_bY{zc>?pZ!Sx zLJr%8Jyx^k!Pvl$9JHqAo(im^$UkusiQZ8yir)xdJ)|)G-k9wfpi`8`_TR<8Jy>V! zXlNb`xKKT=!Rx_FdspqcADe`E&QQ16TAzp9leCtR`mlprifZt9IN#bjVfLdEl1;sZ U#9XE$3n_oVGdY|7^OzH@I9a5QiazjJ>7 zzu$LGdWWLDL(!=px?`69shIy$w?rJsS)5R^V}4i9X0-vQ3a84}OFF8Tsx^9XW%l8=$(z~P~}K**$WvdK@M$PF(m> zVo7ntb8zNBi+WbgaiVV%{w@V`_0Dowu+;bO2>o{TcT&`4 zUg=+}YO1vrn^AK8t&s*e*)XtCjE%Tym@rUU3U42+(L2jVT;-<*#-d^1-=$NYIak97 zF4T3XXCIbM{aI-ky3%#5BgTNXTt1cyoc(P>_b3Jqte$-5a;SRf-Op7mHfcnOqasKC zdM{CntuZHx;tt2@R*rV-w4AbVv`UAem~AM4G!d+*+{^gV!q83wMKr)Z=N!?OPG+Uy zla-*V!RZ_o23hHxem-EQzcSruUO1x0OI!}`%KDj>AcUWqIjEA@usDZPMH8wt+NaRO zj~pYGYM@`QzW{h*F*v(}-LR4jf+XqBNdC^*9!2zQBqFCAx$)`ioDsJvdE?v+d$H*v zkIlXKAfyVK>7C^ww2ROXK$`F8_Ech!nco_8CcX3H;bndFv!BD$hJ|LPCFG7gv5=@_ z%Fx2zRqjXQ`9u)L&z--jNJ~QqROA31{tc8#;>rsb9;T1J?)eLw74H`aVYQQjbd;6F znZJjK6mV~BDG`H>iptfc z9%=$^z5HcymHyk7XF`Jgv0SZ4g8var>IT>OjbD$N{}fWsk#8<`RKmRR(q4jR`UO5@ QA7|?7U2xfD>e7|}02dq*bpQYW diff --git a/.vs/HaoYueNet/v17/.futdcache.v2 b/.vs/HaoYueNet/v17/.futdcache.v2 index f2880e767f8498919149d7075e1943d821e4be15..afdd46a51bd6d503338b9c5a9107d25c68b11743 100644 GIT binary patch delta 154 zcmbOyI8Sgwosc#2@t~5;985fUw>i=#@|E-CZJfZ##Ja~w-!pIG1dWMWc9ZLvCBVw= ze8@ctQYJAKB)M6Sc?L7*&WnaX_H7RH$%>3JlV7t1az=Qx!9}DeC$I-`n(m(q7SRW* cxz6s%dA)Ekl9~yuY?Hk>d^o(m>;a1c0RN9PwEzGB delta 153 zcmbOyI8Sgwosdm}-y<&X$=xkXOG`v!BH%{PWV!dHzo0U6pg2qHGyUBIT5@2N- zZg+b@%6@c$Bsc3Z&tPUfA_8PjE@YLT?7*ToxsP2^;EcA5oG}r(D diff --git a/.vs/ProjectEvaluation/haoyuenet.metadata.v5.2 b/.vs/ProjectEvaluation/haoyuenet.metadata.v5.2 index 77762fdd950c63d78bfedaa669075f17330d69cd..d87376276e2c3c07a01d3a3af27260767b44391e 100644 GIT binary patch delta 168 zcmZ3yns4V4KE|R(##TlkV%o~c+@_>ez|X+IVQgydWMJv!TnOZd`=yqY=NDyrq~;W) z76ljuIOi9o>LnMuO%`Obp8g<`nS1*=CFUCM?dnC$t&H2x=QHcGC^IrJFz~pfCY7ew zIObJ42ZTP}qYe~eV2}o4k@wL@dGfX^mN1(#O;4y|mYgo%&a6EBLLPI{G&Lr^>HEu= R`KAk$GdFHmsb;R10ssnKF?9d{ delta 208 zcmdnFgm3X`KE{GZ##TlkV%o~c+@`dBgA(&$@9BrCm?ft#=wVi#uA9&7HNCfrS!nu$ zB4(}W^NN_Aru(%pPuR|0z^uSBT{?$ZP^jpHG6M*30`Y;bEK^tKO#jfrEV4bWgjtbk zx^E}5DM+8%G&Lr^>DuMYeACajG3!kaP+(%8E}swNg3RO0ZWIF>B0b%^hS_v`NeMGI Ok$M}q?T+9BR~Q(4<8hmkwQe^ch@+;Vn3B x96NaJwdnfMM?!{+!9i$COGNLboUEIXD(_$2^`&o?A5+D%0&lF$n6nSh<0gY{L|G-hH0$(EeWGA?WDp=^Ge|jEqf8 h&CJCTsfDGLwM=efYiIA^s8Bko)XpxhZr^*``~gcY9pwN3 diff --git a/NetLib/HaoYueNet.ClientNetworkNet4x/NetworkHelperCore.cs b/NetLib/HaoYueNet.ClientNetworkNet4x/NetworkHelperCore.cs index a7caf3e..62b01b4 100644 --- a/NetLib/HaoYueNet.ClientNetworkNet4x/NetworkHelperCore.cs +++ b/NetLib/HaoYueNet.ClientNetworkNet4x/NetworkHelperCore.cs @@ -111,7 +111,7 @@ namespace HaoYueNet.ClientNetworkNet4x OnCloseReady(); return; } - LogOut("发送心跳包"); + //LogOut("发送心跳包"); } /// @@ -229,7 +229,7 @@ namespace HaoYueNet.ClientNetworkNet4x //不处理心跳包 if (data.Length == 1 && data[0] == 0x00) { - LogOut("收到心跳包"); + //LogOut("收到心跳包"); return; } diff --git a/NetLib/HaoYueNet.ServerNetwork/NetWork/SocketManager.cs b/NetLib/HaoYueNet.ServerNetwork/NetWork/SocketManager.cs index 55f7a65..e23e2ac 100644 --- a/NetLib/HaoYueNet.ServerNetwork/NetWork/SocketManager.cs +++ b/NetLib/HaoYueNet.ServerNetwork/NetWork/SocketManager.cs @@ -44,17 +44,48 @@ namespace HaoYueNet.ServerNetwork public BufferManager m_bufferManager; public const int opsToAlloc = 2; Socket listenSocket; //监听Socket - public SocketEventPool m_pool; + public SocketEventPool m_Receivepool; public SocketEventPool m_Sendpool; public TokenMsgPool msg_pool; - //public Dictionary _DictAsyncUserTokenSendSAEA = new Dictionary(); public int m_clientCount; //连接的客户端数量 - public Semaphore m_maxNumberAcceptedClients; + public Semaphore m_maxNumberAcceptedClients;//信号量 List m_clients; //客户端列表 public Dictionary _DictSocketAsyncUserToken = new Dictionary(); + + + #region Token管理 + + void ClearUserToken() + { + lock (_DictSocketAsyncUserToken) + { + m_clients.Clear(); + _DictSocketAsyncUserToken.Clear(); + } + } + + void AddUserToken(AsyncUserToken userToken) + { + lock (_DictSocketAsyncUserToken) + { + m_clients.Add(userToken); + _DictSocketAsyncUserToken.Add(userToken.Socket, userToken); + } + } + + void RemoveUserToken(AsyncUserToken userToken) + { + lock (_DictSocketAsyncUserToken) + { + m_clients.Remove(userToken); + _DictSocketAsyncUserToken.Remove(userToken.Socket); + } + } + #endregion + #region 定义委托 /// @@ -83,12 +114,9 @@ namespace HaoYueNet.ServerNetwork /// 接收到客户端的数据事件 /// public event OnReceiveData ReceiveClientData; - - #endregion - #region 定义属性 - + #region 定义属性 /// /// 获取客户端列表 /// @@ -106,10 +134,10 @@ namespace HaoYueNet.ServerNetwork m_maxConnectNum = numConnections; m_revBufferSize = receiveBufferSize; // allocate buffers such that the maximum number of sockets can have one outstanding read and - //write posted to the socket simultaneously + //write posted to the socket simultaneously m_bufferManager = new BufferManager(receiveBufferSize * numConnections * opsToAlloc, receiveBufferSize); - m_pool = new SocketEventPool(numConnections); + m_Receivepool = new SocketEventPool(numConnections); m_Sendpool = new SocketEventPool(numConnections); msg_pool = new TokenMsgPool(numConnections); @@ -134,23 +162,21 @@ namespace HaoYueNet.ServerNetwork readWriteEventArg = new SocketAsyncEventArgs(); readWriteEventArg.Completed += new EventHandler(IO_Completed); readWriteEventArg.UserToken = new AsyncUserToken(); - // assign a byte buffer from the buffer pool to the SocketAsyncEventArg object m_bufferManager.SetBuffer(readWriteEventArg); // add SocketAsyncEventArg to the pool - m_pool.Push(readWriteEventArg); + m_Receivepool.Push(readWriteEventArg); } - //尝试 for (int i = 0; i < m_maxConnectNum; i++) { readWriteEventArg = new SocketAsyncEventArgs(); - readWriteEventArg.Completed += new EventHandler(IO_Completed2); + readWriteEventArg.Completed += new EventHandler(IO_Completed); readWriteEventArg.UserToken = new AsyncUserToken(); - // assign a byte buffer from the buffer pool to the SocketAsyncEventArg object + //发送是否需要如此设置 TODO m_bufferManager.SetBuffer(readWriteEventArg); - // add SocketAsyncEventArg to the pool + m_Sendpool.Push(readWriteEventArg); } } @@ -166,7 +192,7 @@ namespace HaoYueNet.ServerNetwork { try { - m_clients.Clear(); + ClearUserToken(); listenSocket = new Socket(localEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); if (bReuseAddress) @@ -216,9 +242,7 @@ namespace HaoYueNet.ServerNetwork listenSocket.Close(); int c_count = m_clients.Count; - lock (m_clients) { m_clients.Clear(); } - //补充处理 - lock (_DictSocketAsyncUserToken) { _DictSocketAsyncUserToken.Clear(); } + ClearUserToken(); if (ClientNumberChange != null) ClientNumberChange(-c_count, null); @@ -274,7 +298,7 @@ namespace HaoYueNet.ServerNetwork Interlocked.Increment(ref m_clientCount); // Get the socket for the accepted client connection and put it into the //ReadEventArg object user token - SocketAsyncEventArgs readEventArgs = m_pool.Pop(); + SocketAsyncEventArgs readEventArgs = m_Receivepool.Pop(); AsyncUserToken userToken = (AsyncUserToken)readEventArgs.UserToken; userToken.Socket = e.AcceptSocket; userToken.ConnectTime = DateTime.Now; @@ -285,13 +309,9 @@ namespace HaoYueNet.ServerNetwork userToken.RevIndex = MaxRevIndexNum; userToken.SendIndex = MaxSendIndexNum; - lock (m_clients) { m_clients.Add(userToken); } + AddUserToken(userToken); - //补充处理 - lock (_DictSocketAsyncUserToken) { _DictSocketAsyncUserToken.Add(userToken.Socket, userToken); } - - if (ClientNumberChange != null) - ClientNumberChange(1, userToken); + ClientNumberChange?.Invoke(1, userToken); if (!e.AcceptSocket.ReceiveAsync(readEventArgs)) { ProcessReceive(readEventArgs); @@ -324,22 +344,6 @@ namespace HaoYueNet.ServerNetwork } } - void IO_Completed2(object sender, SocketAsyncEventArgs e) - { - // determine which type of operation just completed and call the associated handler - Console.WriteLine("就他妈从来没进过"); - //switch (e.LastOperation) - //{ - // case SocketAsyncOperation.Receive: - // ProcessReceive(e); - // break; - // case SocketAsyncOperation.Send: - // ProcessSend2(e); - // break; - // default: - // throw new ArgumentException("The last operation completed on the socket was not a receive or send"); - //} - } // This method is invoked when an asynchronous receive operation completes. // If the remote host closed the connection, then the socket is closed. @@ -400,7 +404,9 @@ namespace HaoYueNet.ServerNetwork //继续接收. 为什么要这么写,请看Socket.ReceiveAsync方法的说明 if (!token.Socket.ReceiveAsync(e)) + { this.ProcessReceive(e); + } } else { @@ -413,51 +419,18 @@ namespace HaoYueNet.ServerNetwork } } - // This method is invoked when an asynchronous send operation completes. - // The method issues another receive on the socket to read any additional - // data sent from the client - // - // private void ProcessSend(SocketAsyncEventArgs e) { if (e.SocketError == SocketError.Success) { - // done echoing data back to the client - AsyncUserToken token = (AsyncUserToken)e.UserToken; - // read the next block of data send from the client - bool willRaiseEvent = token.Socket.ReceiveAsync(e); - if (!willRaiseEvent) - { - ProcessReceive(e); - } + //TODO } else { CloseClientSocket(e); + return; } - } - - private void ProcessSend2(SocketAsyncEventArgs e) - { - if (e.SocketError == SocketError.Success) - { - // done echoing data back to the client - //AsyncUserToken token = (AsyncUserToken)e.UserToken; - // read the next block of data send from the client - //bool willRaiseEvent = token.Socket.ReceiveAsync(e); - //if (!willRaiseEvent) - //{ - // ProcessReceive(e); - //} - } - else - { - CloseClientSocket(e); - } - e.SetBuffer(null, 0, 0); - m_Sendpool.Push(e); - //Console.WriteLine("发送完毕压进回对象池"); - + ReleaseSocketAsyncEventArgs(e); SendForMsgPool(); } @@ -469,15 +442,7 @@ namespace HaoYueNet.ServerNetwork //调用关闭连接 OnClose(token); - lock (m_clients) { m_clients.Remove(token); } - - //补充处理 - lock (_DictSocketAsyncUserToken) { _DictSocketAsyncUserToken.Remove(token.Socket); } - - ////尝试1 - //m_Sendpool.Push(_DictAsyncUserTokenSendSAEA[token]); - //lock (_DictAsyncUserTokenSendSAEA) { _DictAsyncUserTokenSendSAEA.Remove(token); } - ////尝试1结束 + RemoveUserToken(token); //如果有事件,则调用事件,发送客户端数量变化通知 if (ClientNumberChange != null) @@ -493,40 +458,24 @@ namespace HaoYueNet.ServerNetwork Interlocked.Decrement(ref m_clientCount); m_maxNumberAcceptedClients.Release(); // Free the SocketAsyncEventArg so they can be reused by another client - e.UserToken = new AsyncUserToken(); - m_pool.Push(e); + ReleaseSocketAsyncEventArgs(e); + } + + void ReleaseSocketAsyncEventArgs(SocketAsyncEventArgs saea) + { + saea.UserToken = null;//TODO + saea.SetBuffer(null, 0, 0); + switch (saea.LastOperation) + { + case SocketAsyncOperation.Receive: + m_Receivepool.Push(saea); + break; + case SocketAsyncOperation.Send: + m_Sendpool.Push(saea); + break; + } } - /// - /// 对数据进行打包,然后再发送 - /// - /// - /// - /// - //public void SendMessage(AsyncUserToken token, byte[] message) - //{ - // if (token == null || token.Socket == null || !token.Socket.Connected) - // return; - // try - // { - // //对要发送的消息,制定简单协议,头4字节指定包的大小,方便客户端接收(协议可以自己定) - // byte[] buff = new byte[message.Length + 4]; - // byte[] len = BitConverter.GetBytes(message.Length); - // Array.Copy(len, buff, 4); - // Array.Copy(message, 0, buff, 4, message.Length); - // //token.Socket.Send(buff); //这句也可以发送, 可根据自己的需要来选择 - // //新建异步发送对象, 发送消息 - // SocketAsyncEventArgs sendArg = new SocketAsyncEventArgs(); - // sendArg.UserToken = token; - // sendArg.SetBuffer(buff, 0, buff.Length); //将数据放置进去. - // token.Socket.SendAsync(sendArg); - // } - // catch (Exception e) - // { - // //RuncomLib.Log.LogUtils.Info("SendMessage - Error:" + e.Message); - // } - //} - //bool flag_SendForMsgPool = false; int sendrun = 0; public void SendForMsgPool() { @@ -561,72 +510,43 @@ namespace HaoYueNet.ServerNetwork } - public void SendMessage(AsyncUserToken token, byte[] message) + public void SendMessage(AsyncUserToken token, byte[] message,bool dontNeedHead = false) { if (token == null || token.Socket == null || !token.Socket.Connected) return; try { - message = SendDataWithHead(message); + if (!dontNeedHead) + { + message = SendDataWithHead(message); + } - //尝试2 (发送的时候从队列取,动态绑定 - //Console.WriteLine("队列取出 并 发送!!!!"); if (m_Sendpool.Count > 0) { SocketAsyncEventArgs myreadEventArgs = m_Sendpool.Pop(); myreadEventArgs.UserToken = token; myreadEventArgs.AcceptSocket = token.Socket; myreadEventArgs.SetBuffer(message, 0, message.Length); //将数据放置进去. - token.Socket.SendAsync(myreadEventArgs); - //得了,先回去吧 - m_Sendpool.Push(myreadEventArgs); + //若不需要等待 + if (!token.Socket.SendAsync(myreadEventArgs)) + { + m_Sendpool.Push(myreadEventArgs); + } return; } else { + //先压入队列,等待m_Sendpool回收 msg_pool.Enqueue(new TokenWithMsg() { token = token, message = message }); //Console.WriteLine("!!!!压入消息发送队列MSG_Pool"); return; } - - //尝试结束 - - ////尝试1 - //Console.WriteLine("发送!!!!"); - //SocketAsyncEventArgs myreadEventArgs; - //if (!_DictAsyncUserTokenSendSAEA.ContainsKey(token)) - //{ - // myreadEventArgs = m_Sendpool.Pop(); - // myreadEventArgs.UserToken = token; - // _DictAsyncUserTokenSendSAEA.Add(token, myreadEventArgs); - // myreadEventArgs.AcceptSocket = token.Socket; - // //myreadEventArgs.AcceptSocket.RemoteEndPoint = token.Remote; - // token.IPAddress = ((IPEndPoint)(myreadEventArgs.AcceptSocket.RemoteEndPoint)).Address; - //} - //else - //{ - // myreadEventArgs = _DictAsyncUserTokenSendSAEA[token]; - //} - - //myreadEventArgs.SetBuffer(message, 0, message.Length); //将数据放置进去. - //token.Socket.SendAsync(myreadEventArgs); - - //return; - ////尝试1结束 - - //新建异步发送对象, 发送消息 - SocketAsyncEventArgs sendArg = new SocketAsyncEventArgs(); - sendArg.UserToken = token; - sendArg.SetBuffer(message, 0, message.Length); //将数据放置进去. - token.Socket.SendAsync(sendArg); } catch (Exception e) { Console.WriteLine(e.ToString()); - //RuncomLib.Log.LogUtils.Info("SendMessage - Error:" + e.Message); } - } //拼接长度 @@ -672,12 +592,7 @@ namespace HaoYueNet.ServerNetwork { OnClose(token); - lock (m_clients) { m_clients.Remove(token); } - - //补充处理 - lock (_DictSocketAsyncUserToken) { _DictSocketAsyncUserToken.Remove(token.Socket); } - - + RemoveUserToken(token); //如果有事件,则调用事件,发送客户端数量变化通知 if (ClientNumberChange != null) @@ -692,15 +607,6 @@ namespace HaoYueNet.ServerNetwork // decrement the counter keeping track of the total number of clients connected to the server Interlocked.Decrement(ref m_clientCount); m_maxNumberAcceptedClients.Release(); - - - //试着加入一个释放 - //token.Socket.Dispose(); - - // Free the SocketAsyncEventArg so they can be reused by another client - //e.UserToken = new AsyncUserToken(); - //m_pool.Push(e); - //这里直接注释了进程池,需要验证是否会出问题 } /// @@ -754,14 +660,9 @@ namespace HaoYueNet.ServerNetwork return; try { - Console.WriteLine(DateTime.Now.ToString() + "发送心跳包"); + //Console.WriteLine(DateTime.Now.ToString() + "发送心跳包"); token.SendIndex = MaxSendIndexNum; - - //新建异步发送对象, 发送消息 - SocketAsyncEventArgs sendArg = new SocketAsyncEventArgs(); - sendArg.UserToken = token; - sendArg.SetBuffer(HeartbeatData, 0, HeartbeatData.Length); //将数据放置进去. - token.Socket.SendAsync(sendArg); + SendMessage(token, HeartbeatData, true); } catch (Exception e) { @@ -776,7 +677,7 @@ namespace HaoYueNet.ServerNetwork if (data.Length == 1 && data[0] == 0x00)//心跳包 { - Console.WriteLine("收到心跳包"); + //Console.WriteLine("收到心跳包"); //无处理 } else @@ -802,7 +703,6 @@ namespace HaoYueNet.ServerNetwork { for (int i = 0; i < m_clients.Count(); i++) { - //Console.WriteLine("RevIndex->{0} SendIndex->{1}", m_clients[i].RevIndex, m_clients[i].SendIndex); //接收服务器数据计数 m_clients[i].RevIndex--; if (m_clients[i].RevIndex <= 0) diff --git a/Simple/ServerCore/NetWork/IOCPNetWork.cs b/Simple/ServerCore/NetWork/IOCPNetWork.cs index ad84594..8eea172 100644 --- a/Simple/ServerCore/NetWork/IOCPNetWork.cs +++ b/Simple/ServerCore/NetWork/IOCPNetWork.cs @@ -10,15 +10,14 @@ namespace ServerCore.NetWork public IOCPNetWork(int numConnections, int receiveBufferSize) : base(numConnections, receiveBufferSize) { - m_clientCount = 0; - m_maxConnectNum = numConnections; - m_revBufferSize = receiveBufferSize; - // allocate buffers such that the maximum number of sockets can have one outstanding read and - //write posted to the socket simultaneously - m_bufferManager = new BufferManager(receiveBufferSize * numConnections * opsToAlloc, receiveBufferSize); - - m_pool = new SocketEventPool(numConnections); - m_maxNumberAcceptedClients = new Semaphore(numConnections, numConnections); + //m_clientCount = 0; + //m_maxConnectNum = numConnections; + //m_revBufferSize = receiveBufferSize; + //// allocate buffers such that the maximum number of sockets can have one outstanding read and + ////write posted to the socket simultaneously + //m_bufferManager = new BufferManager(receiveBufferSize * numConnections * opsToAlloc, receiveBufferSize); + //m_pool = new SocketEventPool(numConnections); + //m_maxNumberAcceptedClients = new Semaphore(numConnections, numConnections); ClientNumberChange += IOCPNetWork_ClientNumberChange;