Exemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ipEndPoint"></param>
 /// <param name="str"></param>
 private void SendAllClient(string msg)
 {
     this.server.ClientAll?.ForEach(item =>
     {
         server.sendMessage(item, msg);
     });
 }
Exemplo n.º 2
0
 public void SendMsg(string msg, IPEndPoint ipEndPoint)
 {
     try
     {
         if (ipEndPoint == null)
         {
             LogHelper.Log.Info("客户端" + ipEndPoint + "不存在,发送消息失败");
             return;
         }
         if (!this.txServer.clientCheck(ipEndPoint))
         {
             LogHelper.Log.Info("目标客户端不在线!" + ipEndPoint);
             return;
         }
         txServer.sendMessage(ipEndPoint, msg);
     }
     catch (Exception Ex)
     {
         LogHelper.Log.Info("发送消息失败:" + Ex.Message);
     }
 }
Exemplo n.º 3
0
        /// <summary>
        ///     接收到文本数据的时候
        /// </summary>
        /// <param name="str"></param>
        private void accptString_Client(IPEndPoint end, string strJson)
        {
            Console.WriteLine("接收到服务器{0}发送来的数据{1}", end, strJson);

            #region 发送到客户端

            var strMsg = string.Format("\n\n{0}向端口发送数据:" + "*****************************",
                                       DateTime.Now.ToString(strTimeFormat));
            if (strJson == null || strJson.Trim().Length == 0)
            {
                strMsg += string.Format("\n{0}字符串长度为0,数据不发送", DateTime.Now.ToString(strTimeFormat));
                return;
            }

            if (TxClientServer.ClientAll == null)
            {
                strMsg += string.Format("\n{0}", "无客户端连接,数据未发送");
                Console.WriteLine(strMsg);
                return;
            }
            strMsg += string.Format("\n允许最大在线人数:{0}\n当前连接数为:{1}", TxClientServer.ClientMax,
                                    TxClientServer.ClientAll.Count);
            foreach (var item in TxClientServer.ClientAll)
            {
                if (!TxClientServer.clientCheck(item))
                {
                    strMsg += string.Format("\n客户端{0}{1}", item.Address + ":" + item.Port, "不在线");
                    break;
                }


                Console.WriteLine(strMsg);
                var sendData = Encoding.UTF8.GetBytes(strJson);
                var aaa      = sendData[sendData.Length - 1];
                if (strJson == null || strJson.Trim(']').Length < 1)
                {
                    strMsg += string.Format("\n{0}字符串长度为0,客户端{1}{2}", DateTime.Now.ToString(strTimeFormat),
                                            item.Address + ":" + item.Port, "发送信息不成功");
                    return;
                }
                strMsg += string.Format("\n{0}客户端{1}{2}", DateTime.Now.ToString(strTimeFormat),
                                        item.Address + ":" + item.Port, "发送信息成功");
                Console.WriteLine(strMsg);
                TxClientServer.sendMessage(item, strJson);
            }

            #endregion
        }
Exemplo n.º 4
0
        /// <summary>
        /// 发送按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                IPEndPoint client = (IPEndPoint)this.comboBox1.SelectedItem;
                if (client == null)
                {
                    MessageBox.Show("没有选中任何在线客户端!");
                    return;
                }

                if (!this.server.clientCheck(client))
                {
                    MessageBox.Show("目标客户端不在线!");
                    return;
                }
                server.sendMessage(client, textBox_msg.Text);
            }
            catch (Exception Ex) { MessageBox.Show(Ex.Message); }
        }
Exemplo n.º 5
0
        /// <summary>
        ///     发送至客户端
        /// </summary>
        private void SendToClient(object ob)
        {
            object[]       obs    = ob as object[];
            string         type   = "";
            M_MT_TagDefine info   = null;
            string         strIds = "";

            if (obs == null)
            {
                return;
            }

            if (obs.Length == 1)
            {
                type = obs[0].ToString();
            }
            if (obs.Length == 2)
            {
                type = obs[0].ToString();
                info = obs[1] as M_MT_TagDefine;
            }
            lock (BasePublic.lockerConfig)
            {
                if (server.ClientAll != null && server.ClientAll.Count == 0)
                {
                    var msg = "服务端无连接,不发送";
                    Console.WriteLine(msg);
                }
                var lst = new List <M_BS_Realdata_Spt>();
                try
                {
                    lst = BLLFactory <B_BS_Realdata_Spt> .Instance.GetNewList(type, info);

                    if (lst == null)
                    {
                        return;
                    }
                    if (type.ToString() != "0")
                    {
                        //lst=(from li in lst where li.TagCode=="Epi" select li).ToList();
                    }
                }
                catch (Exception e)
                {
                    var msg = string.Format("{0}  {1}  {2}", DateTime.Now.ToString(BasePublic.strTimeFormat),
                                            "查询实时数据spt出错", e.Message);
                    Console.WriteLine(string.Format(msg));
                    BasePublic.ExceptionDeal(BaseEnum.Socket, msg);
                    return;
                }

                DataTable dt = GetSendTable(lst, type);

                #region 发送到客户端

                //string strJson = BaseFunction.DataTable2Json(dt);
                var strJson = BaseFunction.DataTableToJson(dt);
                var byteLen = Encoding.Default.GetByteCount(strJson);

                var strMsg = string.Format("\n\n{0}向端口发送【非电量】数据:" + "*****************************",
                                           DateTime.Now.ToString(BasePublic.strTimeFormat));
                if (type != "0")
                {
                    strMsg = string.Format("\n\n{0}向端口发送【电量】数据:" + "*****************************",
                                           DateTime.Now.ToString(BasePublic.strTimeFormat));
                }
                if (strJson == null || strJson.Trim().Length == 0)
                {
                    strMsg += string.Format("\n{0}字符串长度为0,数据不发送", DateTime.Now.ToString(BasePublic.strTimeFormat));
                    return;
                }

                if (server.ClientAll == null)
                {
                    strMsg += string.Format("\n{0}", "无客户端连接,数据未发送");
                    Console.WriteLine(strMsg);
                    return;
                }
                strMsg += string.Format("\n允许最大在线人数:{0}\n当前连接数为:{1}", server.ClientMax, server.ClientAll.Count);
                foreach (var item in server.ClientAll)
                {
                    if (!server.clientCheck(item))
                    {
                        strMsg += string.Format("\n客户端{0}{1}", item.Address + ":" + item.Port, "不在线");
                        break;
                    }


                    Console.WriteLine(strMsg);
                    var sendData = Encoding.UTF8.GetBytes(strJson);
                    var aaa      = sendData[sendData.Length - 1];
                    if (strJson == null || strJson.Trim(']').Length < 1)
                    {
                        strMsg += string.Format("\n{0}字符串长度为0,客户端{1}{2}", DateTime.Now.ToString(BasePublic.strTimeFormat),
                                                item.Address + ":" + item.Port, "发送信息不成功");
                        return;
                    }
                    strMsg += string.Format("\n{0}客户端{1}{2}", DateTime.Now.ToString(BasePublic.strTimeFormat),
                                            item.Address + ":" + item.Port, "发送信息成功");
                    Console.WriteLine(strMsg);
                    server.sendMessage(item, strJson);
                }

                #endregion
            }
        }