예제 #1
0
        protected virtual void ReceiveAsync(object sender, SocketAsyncEventArgs e)
        {
            if (e.BytesTransferred > 0)
            {
                Mithril.Buffer buffer = new Mithril.Buffer(e.Buffer);
                buffer.Set(e.BytesTransferred);

                if (EndPointIds.ContainsKey(e.RemoteEndPoint))
                {
                    Connections[EndPointIds[e.RemoteEndPoint]].OnReceive(buffer);
                }
            }

            Handle.Set();
        }
예제 #2
0
 public void SendReliable(int connectionId, Mithril.Buffer buffer, bool wholeBuffer = true)
 {
     Connections[connectionId]?.SendReliable(buffer, wholeBuffer);
 }
예제 #3
0
 public void FireReceiveEvent(int connectionId, Mithril.Buffer buffer)
 {
     Receive?.Invoke(connectionId, buffer);
 }
예제 #4
0
 public BufferTests()
 {
     buffer    = new Mithril.Buffer();
     bigBuffer = new Mithril.Buffer(BIG_BUFFER_SIZE);
     r         = new Random();
 }