/// <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); }
/// <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); }