Exemple #1
0
 public void DisplayWord(TimerSender ts)
 {
     foreach (string word in ts.sendMsg)
     {
         f1.DisplayMessage(word, 0);
     }
 }
Exemple #2
0
        public bool SendTimerMessage(Form1 f1, AppIF appif)
        {
            try
            {
                string str = id.ToString();
                byte[] msg = Encoding.UTF8.GetBytes(str);
                timerSocket.Send(msg);

                //受信用のバイト列作成
                byte[] bytes = new byte[1024];
                //送信後受信待機
                int byteRec = timerSocket.Receive(bytes);
                //受信データをデシリアライズする
                XmlSerializer xs  = new XmlSerializer(typeof(TimerSender));
                MemoryStream  mem = new MemoryStream(bytes);
                TimerSender   ts  = xs.Deserialize(mem) as TimerSender;

                f1.Invoke(new Action <TimerSender>(appif.DisplayWord), ts);
                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Exemple #3
0
        //タイマーイベント受信時のコールバック関数
        private void AcceptTimerCallback(System.IAsyncResult ar)
        {
            byte[] bytes = new byte[1024];
            //サーバーSocketの取得
            Socket server = (Socket)ar.AsyncState;

            //接続要求を受け入れる
            Socket client = null;

            try
            {
                //クライアントSocketの取得
                client = server.EndAccept(ar);
            }
            catch
            {
                TimerAccept();
                return;
            }

            int    bytesRec = client.Receive(bytes);
            string data1    = Encoding.UTF8.GetString(bytes, 0, bytesRec);
            int    id       = int.Parse(data1);

            //デリゲート関数を呼び出す
            TimerSender ts = gtd(id);

            try
            {
                //データベースから取り出せないときに処理を抜け出す。
                if (ts.sendMsg[0] == null)
                {
                    return;
                }
            }
            catch (Exception e)
            {
                TimerAccept();
                return;
            }
            finally
            {
                XmlSerializer xs = new XmlSerializer(typeof(TimerSender));

                //シリアライズして送信する
                using (MemoryStream mem = new MemoryStream())
                {
                    //シリアライズ
                    xs.Serialize(mem, ts);

                    byte[] serializedDataserializedData = mem.ToArray();

                    client.Send(serializedDataserializedData);
                }

                client.Close();

                TimerAccept();
            }
        }
Exemple #4
0
        public TimerSender GetDatar(int id)
        {
            List <string> list = connectDB.GetMsg(id);
            TimerSender   ts   = new TimerSender();

            ts.sendMsg = list;

            return(ts);
        }
Exemple #5
0
        private void timer1_Elapsed(object sender, ElapsedEventArgs e)
        {
            try
            {
                lock (obj)
                {
                    TimerSender timerSender = new TimerSender();
                    timerSender.Send();

                    GroupSender groupSender = new GroupSender();
                    groupSender.Send();

                    GroupTimeSender groupTimeSender = new GroupTimeSender();
                    groupTimeSender.Send();
                }
            }
            catch (Exception ex)
            {
                Log.Info(" ========== 发生异常 ============ ");
                Log.Info(" ==========" + ex + " ============ ");
            }
        }
Exemple #6
0
        private void Button1_Click(object sender, EventArgs e)
        {
            TimerSender timerSender = new TimerSender();

            timerSender.Send();
        }