public void HandleData() { if (_messageBuffer.Length == 0) { _messageBuffer = Buffer; } else { byte[] newBuffer = _messageBuffer.Add(Buffer); _messageBuffer = newBuffer; } _networkMessage = new NetworkMessage(_messageBuffer); do { AData receivedData = _networkMessage.GetPayloadData; DataHandler.Instance.HandleData(receivedData, NetSocket); byte[] newBuffer = _messageBuffer.SubArray((int)_networkMessage.Size, _messageBuffer.Length - ((int)_networkMessage.Size)); _messageBuffer = newBuffer; _networkMessage = new NetworkMessage(_messageBuffer); }while (ReadCurrentBuffer); Buffer = new byte[BUFFER_SIZE]; }
private void HandleChatMessageData(AData receivedData, Socket socket) { ChatMessageData chatMessage = (ChatMessageData)receivedData; ChatChannel channelToMessage; if (!_channelList.ContainsKey(chatMessage.Channel)) { Console.WriteLine("[Server] Cannot log message for channel {0}. Channel does not exist.", chatMessage.Channel); return; } else { channelToMessage = _channelList[chatMessage.Channel]; } Message message = new Message(channelToMessage, GetUserBySocket(socket), chatMessage.Content); message.LogToConsole(); channelToMessage.CacheMessage(message); AData dataToSend = message.GetChatMessage(); NetworkMessage networkMessage = new NetworkMessage(dataToSend); channelToMessage.SendDataToAllUsers(networkMessage.ByteMessage); }
private void HandleNicknameChangeData(AData data, Socket socket) { NicknameChangeData nicknameOperationsData = (NicknameChangeData)data; foreach (ChatChannel channel in _channelList.Values) { if (channel.UserList.Keys.Contains(socket)) { ChatUser user = channel.UserList[socket]; Message userChangedMessage = new Message(channel, user, string.Format("{0} changed their name to {1}", user.Nickname, nicknameOperationsData.NewNickname), true); userChangedMessage.LogToConsole(); channel.CacheMessage(userChangedMessage); NetworkMessage networkMessage = new NetworkMessage(userChangedMessage.GetChatMessage()); channel.SendDataToAllUsers(networkMessage.ByteMessage); user.Nickname = nicknameOperationsData.NewNickname; networkMessage = new NetworkMessage(channel.GetChannelData()); channel.SendDataToAllUsers(networkMessage.ByteMessage); } } }
public void OK_AccessClassKeyWithOverrideEqualAndHashCode() { var cache = new Dictionary <AData, int>(); var cont = new List <AData>(); for (int i = 0; i < ELEM_COUNT; ++i) { var o0 = new AData(i, i); cache.Add(o0, i); var o1 = new AData(i, i); cont.Add(o1); Assert.That(cache.ContainsKey(o1)); Assert.That(o0.Equals(o1)); } int k = 0; Assert.That(() => { for (int j = 0; j < ELEM_COUNT; ++j) { var data = cont[j]; var v = cache[data]; k += v; } }, Is.Not.AllocatingGCMemory() ); Assert.That(k, Is.EqualTo((ELEM_COUNT - 1) * ELEM_COUNT / 2)); }
public NetworkMessage(AData payloadData) { MessageType = DataTypeIds.GetIdByType(payloadData.GetType()); String jsonData = JsonConvert.SerializeObject(payloadData); Payload = Encoding.UTF8.GetBytes(jsonData); Size = (UInt32)Payload.LongLength + 5; }
public void HandleData(AData data, Socket socket) { Type dataType = data.GetType(); if (_typeActionPairs.ContainsKey(dataType)) { _typeActionPairs[dataType]?.Invoke(data, socket); } }
public void SendMessageToServer(AData message) { _connectedToServer.Wait(); NetworkMessage networkMessage = new NetworkMessage(message); byte[] byteData = networkMessage.ByteMessage; _clientSocket.BeginSend(byteData, 0, byteData.Length, (SocketFlags)SOCKET_FLAGS, new AsyncCallback(SendMessageToServerCallback), _clientSocket); }
private void HandleChannelData(AData data, Socket socket) { ChannelData channelData = (ChannelData)data; if (_channelList.Keys.Contains(channelData.ChannelId) && channelData.ChannelId != 0) { UpdateChannel(channelData); } else { CreateNewChannel(channelData, socket); } }
override protected void HandleData(AData data) { ChatMessageData messageData = (ChatMessageData)data; if (ChatUser.I.chatChannels.ContainsKey(messageData.Channel)) { ChatUser.I.chatChannels[messageData.Channel].AddMessage(messageData); } else { if (!_unreceivedMessages.ContainsKey(messageData.Channel)) { _unreceivedMessages.Add(messageData.Channel, new Queue <ChatMessageData>()); } _unreceivedMessages[messageData.Channel].Enqueue(messageData); } }
private void HandleNewUserData(AData receivedData, Socket socket) { NewUserData data = (NewUserData)receivedData; if (OpenWall.UserList.Keys.Any(userSocket => userSocket == socket)) { return; } ChatUser newUser = new ChatUser(); newUser.Nickname = data.Nickname; AddUserToChannel(socket, newUser, OpenWall); NetworkMessage networkMessage = new NetworkMessage(OpenWall.GetChannelData()); OpenWall.SendDataToAllUsers(networkMessage.ByteMessage); }
override protected void HandleData(AData data) { ChannelData messageData = (ChannelData)data; if (!_user.chatChannels.ContainsKey(messageData.ChannelId)) { Channel newChannel = Instantiate(_channelPrefab, _channelsHolder); newChannel.gameObject.SetActive(_user.CurrentChatChannel == messageData.ChannelId); newChannel.ChannelData = messageData; ChannelButton newChannelButton = Instantiate(_channelButtonPrefab, _channelButtonsHolder); newChannelButton.channelId = messageData.ChannelId; newChannelButton.channelName.text = messageData.ChannelName; newChannel.ChannelButton = newChannelButton; _user.chatChannels.Add(messageData.ChannelId, newChannel); } _user.chatChannels[messageData.ChannelId].ChannelButton.channelName.text = messageData.ChannelName; _user.chatChannels[messageData.ChannelId].SetNicknameList(messageData.UserNicknames); }
private void HandlePingData(AData data, Socket socket) { NetworkMessage networkMessage = new NetworkMessage(data); _server.SendData(networkMessage.ByteMessage, socket); }
internal CDataModify(AData data) : base(data) { }
private void HandleDisconnectUserData(AData receivedData, Socket socket) { UserDisconnected(socket); }
/// <summary> /// 方法名称: Read /// 内容描述: 读取Excel文件中有效行列数据集 /// 实现流程: /// 1.根据输入参数起始位置,结束位置确定读取范围 /// 2.读取数据至DataSet /// 作 者: 林付国 /// 日 期: 2006-5-11 9:20:53 /// </summary> /// <returns>DataSet数据集</returns> public System.Data.DataSet Read() { #region 变量定义 System.Data.DataSet dsExcel = new DataSet(); System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataRow dr; int i = 0; int j = 0; string strStart = "A1"; string strEnd = "A1"; Object[,] saRet; Object[,] AData; Excel.Range rng; DataSet dsxmlSch = new DataSet(); #endregion #region 加载Xml架构 // 可选用不同于Excel文件的Xml文件 if (this.XMLFilePath.Trim().ToString() == "") { dsxmlSch = this.LoadTemplate(); } else { dsxmlSch = this.LoadTemplate(this.XMLFilePath.Trim().ToString()); } // 增加列名 this.AddColName(ref dt, dsxmlSch); #endregion #region 读取状态列 try { // 读取状态列 rng = (Excel.Range)ws.Cells[0,0];在C#中这种写法不正确 rng = ws.get_Range("A1", "B1"); } catch { throw new Exception("读取Excel状态列错误,请检查!"); } saRet = this.ConvertRngArray(rng); if ((saRet[1, 1] != null) && (saRet[1, 2] != null)) { strStart = saRet[1, 1].ToString(); strEnd = saRet[1, 2].ToString(); } else { throw new Exception("读取Excel文件错误,请检查!"); } #endregion #region 读取数据 try { // 读取数据 rng = ws.get_Range(strStart, strEnd); AData = this.ConvertRngArray(rng); } catch { throw new Exception("读取Excel文件错误,请检查!"); } //Determine the dimensions of the array. int iRows; int iCols; iRows = AData.GetUpperBound(0); iCols = AData.GetUpperBound(1); // Checking if (!CellCheck(iRows, iCols)) { throw new Exception("数据量过大,数据读取错误,请检查!"); } try { for (i = 1; i <= iRows; i++) { dr = dt.NewRow(); for (j = 0; j <= iCols - 1; j++) { if (AData[i, j + 1] != null) { dr[j] = AData[i, j + 1]; } else { dr[j] = ""; } } dt.Rows.Add(dr); } } catch { throw new Exception("读取Excel文件错误,请检查!"); } dsExcel.Tables.Add(dt); #endregion return(dsExcel); }
private void ReturnPing(AData data, Socket socket) { _pingReturned = true; }
virtual protected void HandleData(AData data) { }
internal CDataAdd(AData data) : base(data) { }
internal CDataDisAccess(AData aData) : base(aData) { }
private void HandleDataOnUpdate(AData data, Socket socket) { Debug.Log("Received data asynchronically!"); dataHandleQueue.Enqueue(data); }
internal CDataConAccess(AData aData) : base(aData) { }
internal CDataSearch(AData data) : base(data) { }
internal CDataLoan(AData data) : base(data) { }