Exemplo n.º 1
0
        private void ConnectCallback(IAsyncResult ar)
        {
            TcpClient client = ar.AsyncState as TcpClient;

            if (client != null)
            {
                try
                {
                    client.EndConnect(ar);
                }
                catch (SocketException ex)
                {
                    connecting = false;
                    ConnectionFailed(ex.Message);
                    return;
                }
                Client         = client;
                client.NoDelay = true;
                Stream         = Client.GetStream();
                _reader.SetStream(Stream, readerBufferSize);

                _writer.SetStream(Stream);
                _IsConnected = true;
                SendLoginInfo();
            }
            connecting = false;
        }
Exemplo n.º 2
0
        public void UsersListTest()
        {
            TCPPacketWriter writer = new TCPPacketWriter();

            List <IUser> UsersList = new List <IUser>();

            for (int i = 0; i < 10; i++)
            {
                UsersList.Add(new FeenAccount());
            }

            MemoryStream ms = new MemoryStream();

            writer.SetStream(ms);

            Packet.WriteUserList(writer, UsersList);

            ClientPacketHandler handler = new ClientPacketHandler();

            EventSource.OnUserList += EventSource_OnUserList;
            LastUsersListEventData  = null;
            handler.Handle(new Queue <byte>(ms.ToArray()));
            EventSource.OnUserList += EventSource_OnUserList;

            Assert.IsNotNull(LastUsersListEventData);
            Assert.AreEqual(UsersList.Count, LastUsersListEventData.Count);

            for (int i = 0; i < UsersList.Count; i++)
            {
                Assert.AreEqual(UsersList[i].ID, LastUsersListEventData[i].ID);
                Assert.AreEqual(UsersList[i].Username, LastUsersListEventData[i].Username);
                Assert.AreEqual(UsersList[i].Nickname, LastUsersListEventData[i].Nickname);
                Assert.AreEqual(UsersList[i].IsAdmin, LastUsersListEventData[i].IsAdmin);
            }
        }
Exemplo n.º 3
0
        public void AudioPacketTest()
        {
            TCPPacketWriter writer = new TCPPacketWriter();
            MemoryStream    ms     = new MemoryStream();

            writer.SetStream(ms);

            byte[] audioData = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
            Packet.WriteAudioData(writer, Guid.Empty, FeenPhone.Audio.Codecs.CodecID.Gsm610ChatCodec, audioData, 10);

            ClientPacketHandler handler = new ClientPacketHandler();

            EventSource.OnAudioData += EventSource_OnAudioData;
            LastAudioDataEventArgs   = null;
            handler.Handle(new Queue <byte>(ms.ToArray()));
            EventSource.OnAudioData += EventSource_OnAudioData;

            Assert.IsNotNull(LastAudioDataEventArgs);
            Assert.AreEqual(FeenPhone.Audio.Codecs.CodecID.Gsm610ChatCodec, LastAudioDataEventArgs.Codec);
            Assert.AreEqual(10, LastAudioDataEventArgs.Data.Length);
            Assert.AreEqual(10, LastAudioDataEventArgs.DataLen);
        }