public void DisplayWord(TimerSender ts) { foreach (string word in ts.sendMsg) { f1.DisplayMessage(word, 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); } }
//タイマーイベント受信時のコールバック関数 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(); } }
public TimerSender GetDatar(int id) { List <string> list = connectDB.GetMsg(id); TimerSender ts = new TimerSender(); ts.sendMsg = list; return(ts); }
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 + " ============ "); } }
private void Button1_Click(object sender, EventArgs e) { TimerSender timerSender = new TimerSender(); timerSender.Send(); }