void r()
 {
     if (watch.IsRunning == false)
     {
         watch.Start();
     }
     else
     {
         ping = Convert.ToInt32(watch.ElapsedMilliseconds);
         watch.Stop();
         watch.Reset();
     }
     if (oldping != ping)
     {
         oldping = ping;
         Debug.WriteLine("Ping" + oldping.ToString());
     }
     byte[] data;
     data = new byte[sock.Available];
     //  sock.BeginReceive(data, 0, data.Length, SocketFlags.None, read, data);
     Debug.WriteLine("Reecvied by Server : " + data.Length.ToString() + " bytes");
     sock.Receive(data, data.Length, SocketFlags.None);
     using (PackFormatter f = new PackFormatter())
     {
         try
         {
             f.Deserialize(data);
             OnRecevied(ip, f.flag, f.pack);
         }
         catch
         {
         }
     }
     GC.SuppressFinalize(data);
 }
 public void Send(int flag, List <byte[]> pack)
 {
     using (PackFormatter f = new PackFormatter())
     {
         f.Serialize(flag, pack);
         sock.BeginSend(f.ToArray, 0, f.Size, SocketFlags.None, send, null);
     }
 }
Пример #3
0
 void bRecevie(IAsyncResult result)
 {
     sock.EndReceive(result);
     using (PackFormatter p = new PackFormatter()) {
         p.Deserialize((byte[])result.AsyncState);
         OnDataRecevied(p.flag, p.pack);
     }
 }
Пример #4
0
 public async void SendAsync(int flag, List <byte[]> pack)
 {
     await Task.Run(() => {
         using (PackFormatter f = new PackFormatter()) {
             f.Serialize(flag, pack);
             sock.Send(f.ToArray, 0, f.Size, SocketFlags.None);
         }
     });
 }
Пример #5
0
        public void Send(int flag, List <byte[]> pack)
        {
            int len = 0;

            using (PackFormatter f = new PackFormatter()) {
                f.Serialize(flag, pack);
                len = sock.Send(f.ToArray, 0, f.Size, SocketFlags.None);
                Debug.WriteLine("Client : " + len.ToString() + " bytes ");
            }
        }
        void read(IAsyncResult result)
        {
            //     serializer.Deserialize((byte[])result.AsyncState);
            sock.EndReceive(result);

            using (PackFormatter formatter = new PackFormatter())
            {
                formatter.Deserialize((byte[])result.AsyncState);
                if (formatter.flag < 1000)
                {
                    OnRecevied(ip, formatter.flag, formatter.pack);
                }
            }
        }
Пример #7
0
        void _connect()
        {
            while (ReverseBoolean(c()))
            {
            }
            while (true)
            {
                if (sock.Connected == false && autoConnect == true)
                {
                    while (ReverseBoolean(c()))
                    {
                    }
                }
                else
                {
                }
                if (cn != sock.Connected)
                {
                    cn = sock.Connected;
                    if (cn == true)
                    {
                        try {
                            OnConnected();
                        } catch {
                        }
                    }
                    else
                    {
                        try {
                            OnDisconnected();
                        } catch {
                        }
                    }
                }
                if (sock.Available > 0)
                {
                    try {
                        if (asyncRead == false)
                        {
                            using (PackFormatter formatter = new PackFormatter()) {
                                byte[] data;

                                data = new byte[sock.Available];
                                sock.Receive(data, 0, data.Length, SocketFlags.None);
                                formatter.Deserialize(data);
                                try {
                                    OnDataRecevied(formatter.flag, formatter.pack);
                                } catch {
                                }

                                GC.SuppressFinalize(data);
                            }
                        }
                        else
                        {
                            Task.Run(() =>

                            {
                                using (PackFormatter formatter = new PackFormatter()) {
                                    byte[] data;

                                    data = new byte[sock.Available];
                                    sock.Receive(data, 0, data.Length, SocketFlags.None);
                                    formatter.Deserialize(data);
                                    try {
                                        OnDataRecevied(formatter.flag, formatter.pack);
                                    } catch {
                                    }

                                    GC.SuppressFinalize(data);
                                }
                            });
                        }
                    } catch (Exception ex) {
                    }
                }
            }
        }