예제 #1
-1
        public MessageData ConvertToClass(byte[] bReceived)
        {
            MessageData dataResult = new MessageData();

            byte[] bSender_id = new byte[4];
            byte[] bReceiver_id = new byte[4];
            byte[] bTime = new byte[4];
            byte[] bMessage = new byte[1440];

            int i = 0;
            for (i = 0; i < 4; i++)
                bSender_id[i] = bReceived[i + 2];
            for (i = 0; i < 4; i++)
                bReceiver_id[i] = bReceived[i + 6];
            for (i = 0; i < 4; i++)
                bTime[i] = bReceived[i + 10];
            for (i = 0; i < 1438; i++)
                bMessage[i] = bReceived[i + 14];

            dataResult.User_id = BitConverter.ToInt32(bSender_id, 0);
            dataResult.Receiver_id = BitConverter.ToInt32(bReceiver_id, 0);
            long timeTick = BitConverter.ToInt64(bTime, 0);
            dataResult.Time = new DateTime(timeTick);
            dataResult.Message = Encoding.Default.GetString(bMessage);

            return dataResult;
        }
예제 #2
-1
        public byte[] ConvertToBytes(MessageData data)
        {
            byte[] bResult = new byte[1452];

            short type = 1;
            byte[] bMessageType = BitConverter.GetBytes(type);
            byte[] bSender_id = BitConverter.GetBytes(data.User_id);
            byte[] bReceiver_id = BitConverter.GetBytes(data.Receiver_id);
            byte[] bTime = BitConverter.GetBytes(data.Time.Ticks);
            byte[] bMessage = Encoding.Default.GetBytes(data.Message);

            int i = 0;

            for (i = 0; i < bMessageType.Length; i++)
                bResult[i + 0] = bSender_id[i];
            for (i = 0; i < bSender_id.Length; i++)
                bResult[i + 2] = bSender_id[i];
            for (i = 0; i < bReceiver_id.Length; i++)
                bResult[i + 6] = bReceiver_id[i];
            for (i = 0; i < bTime.Length; i++)
                bResult[i + 10] = bTime[i];
            for (i = 0; i < 1438 && i < bMessage.Length; i++)
                bResult[i + 14] = bMessage[i];

            return bResult;
        }
예제 #3
-1
 public Message(byte[] data)
 {
     msgData = convert.ConvertToClass(data);
     bData = data;
 }
예제 #4
-1
        public ArrayList SelOverMessages(int user_id)
        {
            try
            {
                con.Open();
                DataSet ds = new DataSet();
                sql = "SELECT * FROM over_messages where receiver_id=" + user_id;
                MySQLCommand com = new MySQLCommand(sql, con);
                MySQLDataAdapter adp = new MySQLDataAdapter(com);
                adp.Fill(ds);

                ArrayList messages = new ArrayList();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    MessageData msg = new MessageData();
                    msg.User_id = (int)dr["sender_id"];
                    msg.Receiver_id = (int)dr["receiver_id"];
                    msg.Time = (DateTime)dr["time"];
                    msg.Message = dr["message"].ToString();
                    messages.Add(msg);
                }

                sql = "DELETE user_message where receiver_id=" + user_id;
                com = new MySQLCommand(sql, con);
                com.ExecuteNonQuery();

                return messages;
            }
            catch(Exception ex)
            {
                throw ex;
            }
            finally
            {
                con.Close();
            }
        }
예제 #5
-1
 public bool InsertIntoOverMessages(MessageData msg)
 {
     try
     {
         con.Open();
         sql = "INSERT INTO over_messages(sender_id,receiver_id,time,message) VALUES(" + msg.User_id + "," + msg.Receiver_id + "," + msg.Time + "," + msg.Message + ")";
         MySQLCommand com = new MySQLCommand(sql, con);
         com.ExecuteNonQuery();
         return true;
     }
     catch
     {
         return false;
     }
     finally
     {
         con.Close();
     }
 }
예제 #6
-1
 public Message(byte[] data)
 {
     msgData = convert.ConvertReceiveData(data);
     bData = data;
 }