//回车键触发这个函数 public void ToSendText(string text) { text.Trim(); if (this.toggle.isOn) { if (text.Length > 0) { var strs = text.Split(' '); if (strs.Length != 2 || int.Parse(strs[1]) == null) { //层层封装后,服务器和客户端之间发送消息,就可以这样简单 MessageMgr.Q_SendText(text); //MessageMgr.SendObject(MessageData.Init(new MessageData(), text, UserName)); } else { MessageMgr.SendMessage(SocketNetWork.udpClientSocket, text, SocketNetWork.udpServerEnd); //MessageMgr.SendObject(MessageData.Init(new MessageData(), Convert.ToInt32(strs[0]), Convert.ToInt32(strs[1]), UserName)); } } } else { //MessageMgr.SendMessage(SocketNetWork.udpClientSocket, text, SocketNetWork.udpServerEnd); MessageMgr.SendObject(SocketNetWork.tcpServerSocket, MessageData.Init(text, MessageType.Merge, UserName)); } }
//发送图片时调用 void ToSendFile(PointerEventData data) { var path = OpenProject(); print("获取路径为" + path); if (string.IsNullOrEmpty(path)) { return; } FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read); var index = fs.Name.LastIndexOf('\\'); var str = new string(fs.Name.ToCharArray(), index + 1, fs.Name.Length - index - 1); print("文件名" + str); BinaryReader strread = new BinaryReader(fs); byte[] byt = new byte[fs.Length]; Debug.Log("本次发送数据长度:" + byt.Length); strread.Read(byt, 0, byt.Length - 1); //MessageMgr.SendMessage(SocketNetWork.socket, byt); MessageMgr.SendObject(MessageData.Init(new MessageData(), str, UserName, byt)); strread.Close(); }
void OnEndTalk(PointerEventData f) { AudioClip ap; int length; MicrophoneMgr.EndRecording(out length, out ap); MessageMgr.SendObject(MessageData.Init(new MessageData(), WavUtility.FromAudioClip(ap), this.UserName)); }
public static void Q_SendText(string text) { MessageMgr.SendObject(SocketNetWork.udpClientSocket, MessageData.Init(new MessageData(), text, ChatRoomPanel.Instance.UserName), SocketNetWork.udpServerEnd); }