private void InternalSend(Packet packet) { if (Running == false) { // 表示已处理发送 packet.Release(); return; } // 连接的通知事件 EventHandler <NetStateSendPacketEventArgs> tempEvent = m_EventSendPacket; if (tempEvent != null) { NetStateSendPacketEventArgs sendEventArgs = new NetStateSendPacketEventArgs(this, packet); tempEvent(this, sendEventArgs); if (sendEventArgs.IsCancelSend == true) { // 表示已处理发送 packet.Release(); return; } } long iLength = 0; PacketProfile packetProfile = PacketProfile.GetOutgoingProfile((byte)packet.PacketID); DateTime dateTimeStart = (packetProfile == null ? DateTime.MinValue : OneServer.NowTime); { PacketBuffer packetBuffer = packet.AcquireBuffer(); if (packetBuffer.IsNULL == true) { throw new Exception("NetState.InternalSend(...) - packetBuffer.IsNULL == true error!"); } byte[] byteBuffer = packetBuffer.Buffer; long lLength = packetBuffer.Length; // 加密数据 if (PacketEncoder != null) { PacketEncoder.EncodeOutgoingPacket(this, ref byteBuffer, ref lLength); } m_SendQueue.Enqueue(byteBuffer, 0, lLength); // 表示已处理发送 packet.Release(); // 实际压缩后的数据长度 iLength = lLength; } if (packetProfile != null) { packetProfile.Record(iLength, OneServer.NowTime - dateTimeStart); } }
public void NetStateSendPacketEventArgsConstructorTest() { NetState sendNetState = null; // TODO: 初始化为适当的值 Packet sendPack = null; // TODO: 初始化为适当的值 NetStateSendPacketEventArgs target = new NetStateSendPacketEventArgs(sendNetState, sendPack); Assert.Inconclusive("TODO: 实现用来验证目标的代码"); }
public void SendNetStateTest() { NetState sendNetState = null; // TODO: 初始化为适当的值 Packet sendPack = null; // TODO: 初始化为适当的值 NetStateSendPacketEventArgs target = new NetStateSendPacketEventArgs( sendNetState, sendPack ); // TODO: 初始化为适当的值 NetState actual; actual = target.SendNetState; Assert.Inconclusive( "验证此测试方法的正确性。" ); }
/// <summary> /// 输出发送信息包的日志 /// </summary> private static void RealmSendPacket(object sender, NetStateSendPacketEventArgs eventArgs) { PacketBuffer sendBuffer = eventArgs.SendPacket.AcquireBuffer(); ////////////////////////////////////////////////////////////////////////// // 输出信息包的日志 ////////////////////////////////////////////////////////////////////////// ProcessNet.LogClientPack(sendBuffer.Buffer, sendBuffer.Length, "Realm_Out_Packets.log", eventArgs.SendNetState.ToString(), eventArgs.SendPacket.PacketID, RealmOpCodeName.GetRealmOpCodeName(eventArgs.SendPacket.PacketID)); ////////////////////////////////////////////////////////////////////////// }
public void SendNetStateTest() { NetState sendNetState = null; // TODO: 初始化为适当的值 Packet sendPack = null; // TODO: 初始化为适当的值 NetStateSendPacketEventArgs target = new NetStateSendPacketEventArgs(sendNetState, sendPack); // TODO: 初始化为适当的值 NetState actual; actual = target.SendNetState; Assert.Inconclusive("验证此测试方法的正确性。"); }
public void IsCancelSendTest() { NetState sendNetState = null; // TODO: 初始化为适当的值 Packet sendPack = null; // TODO: 初始化为适当的值 NetStateSendPacketEventArgs target = new NetStateSendPacketEventArgs(sendNetState, sendPack); // TODO: 初始化为适当的值 bool expected = false; // TODO: 初始化为适当的值 bool actual; target.IsCancelSend = expected; actual = target.IsCancelSend; Assert.AreEqual(expected, actual); Assert.Inconclusive("验证此测试方法的正确性。"); }
private void InternalSend( Packet packet ) { if ( this.Running == false || m_BlockSend == true ) { // 表示已处理发送 packet.Release(); return; } // 连接的通知事件 EventHandler<NetStateSendPacketEventArgs> tempEvent = m_EventSendPacket; if ( tempEvent != null ) { NetStateSendPacketEventArgs sendEventArgs = new NetStateSendPacketEventArgs( this, packet ); tempEvent( this, sendEventArgs ); if ( sendEventArgs.IsCancelSend == true ) { // 表示已处理发送 packet.Release(); return; } } long iLength = 0; PacketProfile packetProfile = PacketProfile.GetOutgoingProfile( (byte)packet.PacketID ); DateTime dateTimeStart = ( packetProfile == null ? DateTime.MinValue : DateTime.Now ); { do { PacketBuffer packetBuffer = packet.AcquireBuffer(); if ( packetBuffer.IsNULL == true ) throw new Exception( "NetState.InternalSend(...) - packetBuffer.IsNULL == true error!" ); byte[] byteBuffer = packetBuffer.Buffer; long lLength = packetBuffer.Length; // 加密数据 if ( m_Encoder != null ) m_Encoder.EncodeOutgoingPacket( this, ref byteBuffer, ref lLength ); m_SendQueue.Enqueue( byteBuffer, 0, lLength ); } while ( false ); // 表示已处理发送 packet.Release(); } if ( packetProfile != null ) packetProfile.Record( iLength, DateTime.Now - dateTimeStart ); }
public void IsCancelSendTest() { NetState sendNetState = null; // TODO: 初始化为适当的值 Packet sendPack = null; // TODO: 初始化为适当的值 NetStateSendPacketEventArgs target = new NetStateSendPacketEventArgs( sendNetState, sendPack ); // TODO: 初始化为适当的值 bool expected = false; // TODO: 初始化为适当的值 bool actual; target.IsCancelSend = expected; actual = target.IsCancelSend; Assert.AreEqual( expected, actual ); Assert.Inconclusive( "验证此测试方法的正确性。" ); }
public void NetStateSendPacketEventArgsConstructorTest() { NetState sendNetState = null; // TODO: 初始化为适当的值 Packet sendPack = null; // TODO: 初始化为适当的值 NetStateSendPacketEventArgs target = new NetStateSendPacketEventArgs( sendNetState, sendPack ); Assert.Inconclusive( "TODO: 实现用来验证目标的代码" ); }
/// <summary> /// 输出发送信息包的日志 /// </summary> private static void AuthSendPacket( object sender, NetStateSendPacketEventArgs eventArgs ) { PacketBuffer sendBuffer = eventArgs.SendPacket.AcquireBuffer(); ////////////////////////////////////////////////////////////////////////// // 输出信息包的日志 ////////////////////////////////////////////////////////////////////////// ProcessNet.LogClientPack( sendBuffer.Buffer, sendBuffer.Length, "Auth_Out_Packets.log", eventArgs.SendNetState.ToString(), eventArgs.SendPacket.PacketID, AuthOpCodeName.GetAuthOpCodeName( eventArgs.SendPacket.PacketID ) ); ////////////////////////////////////////////////////////////////////////// }