Example #1
0
 public void WaitForNextMessage(ISocket connection, ISynchroMessage targetMessage)
 {
     if (connections.Count > 0)
     {
         ReceiveNextMessage(true, connection, targetMessage);
     }
 }
Example #2
0
        public void SendMessage(ISynchroMessage message, ISocket connection)
        {
            Buffer.Resize(outBuf, message.GetLength() + sizeof(int));
            Buffer.Add(outBuf, message.GetLength());
            message.Serialize(outBuf);
            Buffer.FinalizeBuffer(outBuf);

            try
            {
                int bytesSent = AweSock.SendMessage(connection, outBuf);

                if (bytesSent == 0)
                {
                    throw new NetworkInformationException();
                }
            }
            catch (SocketException)
            {
                connections.Remove(connection);
            }
        }
Example #3
0
 public void WaitForNextMessage(ISynchroMessage targetMessage)
 {
     WaitForNextMessage(connections[0], targetMessage);
 }
Example #4
0
        public void ReceiveNextMessage(bool skipConnectingEvents, ISocket connection, ISynchroMessage targetMessage)
        {
            try
            {
                Buffer.Resize(inBuf, sizeof(int));
                AweSock.ReceiveMessage(connection, inBuf);
                int messageLength = Buffer.Get <int>(inBuf);

                Buffer.Resize(inBuf, messageLength);
                int received = 0;

                do
                {
                    received += AweSock.ReceiveMessage(connection, inBuf, received);
                    if (received == 0)
                    {
                        throw new SocketException();
                    }
                } while (received < messageLength);

                targetMessage.Deserialize(inBuf);
            }
            catch (SocketException)
            {
                connections.Remove(connection);
            }
        }