Пример #1
0
        public AlertClient(TcpClient tcpClient)
        {
            this.TcpClient = tcpClient;
            _netStream = tcpClient.GetStream();

            //當接收到client端的連線後送出"Ready"訊息給client端,以取得client端送回的ReadyAck訊息
            ServerMsg msg = new ServerMsg()
            {
                MsgType = "Ready"
            };

            //以JSON 輸出Ready,格式為→{"MsgType":"XXX","MsgContent":"XXX"},MsgType跟MsgContent為固定輸出的key,XXX目前為"Ready"
            var serverMsg = JsonConvert.SerializeObject(new[] { msg });
            var data = System.Text.Encoding.Default.GetBytes(serverMsg);
            //將訊息送到網路串流上
            _netStream.Write(data, 0, data.Length);

            _bw = new System.ComponentModel.BackgroundWorker();

            //當每次發生DoWork事件時,呼叫_bw_DoWork()方法。DoWork事件為當呼叫 RunWorkerAsync 時發生
            _bw.DoWork += _bw_DoWork;

            //是否支援非同步取消.
            //如果 BackgroundWorker 支援取消,則為 true,否則為 false。 預設值為 false。
            _bw.WorkerSupportsCancellation = true;

            //開始執行背景作業。使用RunWorkerAsync方法,將會觸動DoWork事件
            _bw.RunWorkerAsync();
        }
Пример #2
0
        //-----------20131209 1220
        //送一般訊息給client
        public void SendMsg(string type, double x, double y, string name)
        {
            ServerMsg serverMsg = new ServerMsg()
            {
                MsgType = type,
                MsgContent = "good",
                Xaxis = x + "",
                Yaxis = y + "",
                Name = name,

            };

            var data = System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(new[] { serverMsg }));
            //   var data = System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(serverMsg));
            _netStream.Write(data, 0, data.Length);
        }
Пример #3
0
 //--------20131  1555
 public void SendStopServerMsg()
 {
     ServerMsg serverMsg = new ServerMsg()
     {
         MsgType = "StopServerMsg",
         MsgContent = JsonConvert.SerializeObject(new StopServer() { StopServerMsg = "StopServer" }),
     };
     var data = System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(serverMsg));
     if (_netStream.CanRead)
         _netStream.Write(data, 0, data.Length);
 }
Пример #4
0
        //-----------20131209 1220
        //送告警訊息給client
        public void SendAlarmMsg(AlarmMsg alarmMsg)
        {
            ServerMsg serverMsg = new ServerMsg()
            {
                MsgType = "AlarmMsg",
                MsgContent = JsonConvert.SerializeObject(alarmMsg)
            };

            var data = System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(serverMsg));
            _netStream.Write(data, 0, data.Length);
        }