Esempio n. 1
0
 private void NetManagerOnSendToServer(NetManager.orig_SendToServer orig, Terraria.Net.NetManager self, NetPacket packet)
 {
     //if (IsChatOpen())
     foreach (TcpClient tcpClient in localServer)
     {
         Console.WriteLine("Sending to server");
         if (tcpClient.Client.Connected)
         {
             byte[] data = packet.Buffer.Data;
             using (MemoryStream stream = new MemoryStream())
             {
                 using (BinaryWriter writer = new BinaryWriter(stream))
                 {
                     writer.Write(0);
                     using (MemoryStream stream2 = new MemoryStream(data))
                     {
                         stream2.WriteTo(stream);
                     }
                     _socket.AsyncSend(stream.GetBuffer(), 0, packet.Length, new SocketSendCallback(SendCallback), packet);
                 }
             }
         }
     }
     //typeof(NetManager).GetMethod("SendData", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(Terraria.Net.NetManager.Instance, new object[] {connection.Socket, packet });
 }
Esempio n. 2
0
 private void NetManagerOnSendToClient(NetManager.orig_SendToClient orig, Terraria.Net.NetManager self, NetPacket packet, int playerid)
 {
     //if (IsChatOpen())
     {
         packet.ShrinkToFit();
         _socket.AsyncSend(packet.Buffer.Data, 0, packet.Length, new SocketSendCallback(SendCallback), packet);
         //typeof(NetManager).GetMethod("SendData", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(Terraria.Net.NetManager.Instance, new object[] { connection.Socket, packet });
     }
 }