/// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="msg">数据msg</param>
        /// <returns></returns>
        public bool Send(byte[] msg)
        {
            if (socket == null || !socket.Connected)
            {
                UnityEngine.Debug.LogError("请先链接再发送消息");
                return(false);
            }
            if (msg == null || msg.Length == 0)
            {
                //CLog.Log("数据为空");
                return(false);
            }

            try
            {
                //CLog.Log("数据长度:" + msg.Length);
                // 添加数据头
                msg = ByteUtils.AddDataHead(msg);
                //socket.BeginSend(msg, 0, msg.Length, SocketFlags.None, SendCallback, socket);
                var address = Dns.GetHostAddresses(connectingAddress)[0];
                var point   = new IPEndPoint(address, connectingPort);
                socket.SendTo(msg, point);
            }
            catch (Exception e)
            {
                UnityEngine.Debug.LogError("发送失败:" + e.Message);
            }

            return(false);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 发送数据给所有链接
 /// </summary>
 /// <param name="data"></param>
 public void SendToAll(byte[] data)
 {
     data = ByteUtils.AddDataHead(data);
     foreach (var client in _clients)
     {
         Send(client, data);
     }
 }
 /// <summary>
 /// 向服务器发送
 /// </summary>
 /// <param name="buf">被发送数据</param>
 public void Send(byte[] buf)
 {
     if (socket == null || !m_ConnOK)
     {
         return;
     }
     buf = ByteUtils.AddDataHead(buf);
     socket.BeginSend(buf, 0, buf.Length, SocketFlags.None, SendCallback, socket);
 }