//发送聊天数据给服务器 public void SendChatData(byte[] chatdata) { CMD_C_CHAT chat = new CMD_C_CHAT(); chat.UserStatus = CServerItem.get().GetMeUserItem().GetUserStatus(); chat.ChatData = chatdata; if (chat.ChatData.Length <= 100 && chat.ChatData.Length > 0) { var buf = StructConverterByteArray.StructToBytes(chat); SendSocketData(HNMJ_Defines.SUB_C_CHAT_PLAY, buf, (ushort)buf.Length); } else { Debug.Log("文字数据不存在或过长"); } }
//接收聊天数据 public void OnSubChatData(byte[] pBuffer, ushort wDataSize) { var typeValue = typeof(CMD_C_CHAT); if (wDataSize != Marshal.SizeOf(typeValue)) { Debug.Log("数据长度不符合"); return; } CMD_C_CHAT ChatData = (CMD_C_CHAT)StructConverterByteArray.BytesToStruct(pBuffer, typeValue); string data = Encoding.GetEncoding(936).GetString(ChatData.ChatData); //Debug.Log("接收到的数据:" + data); int chairid = ChatData.ChairId; byte userstatus = ChatData.UserStatus; hnManager.ShowChatPanel(chairid, userstatus, data); }