private void onConnectedClient(object sender, ClientConnectEventArgs e) { this.Sessions.Add(e.ID, e.Session); this.NewSessions.Add(e.ID, e.Session); VebSocketClient vc = e.Session.Context.WebSocket.ToVebSocketClient(); vc.SubscribeToMainloop(this.HDEHost); this.Clients.Add(e.ID, vc); this.NewClients.Add(e.ID, vc); }
public void Evaluate(int SpreadMax) { if (FInput.IsConnected) { FUrl.SliceCount = FInput.SliceCount; FOrigin.SliceCount = FInput.SliceCount; FProtocol.SliceCount = FInput.SliceCount; FExtensions.SliceCount = FInput.SliceCount; FCompression.SliceCount = FInput.SliceCount; FState.SliceCount = FInput.SliceCount; FCloseReason.SliceCount = FInput.SliceCount; FIsSecure.SliceCount = FInput.SliceCount; FCredentials.SliceCount = FInput.SliceCount; FCookies.SliceCount = FInput.SliceCount; for (int i = 0; i < FInput.SliceCount; i++) { if (FInput[i] is VebSocketClient) { VebSocketClient vs = FInput[i] as VebSocketClient; FUrl[i] = vs.Client.Url.ToString(); FOrigin[i] = vs.Client.Origin; FProtocol[i] = vs.Client.Protocol; FExtensions[i] = vs.Client.Extensions; FCompression[i] = vs.Client.Compression.ToString(); FState[i] = vs.Client.ReadyState.ToString(); FCloseReason[i] = vs.CloseReason; FIsSecure[i] = vs.Client.IsSecure; FCredentials[i] = vs.Client.Credentials; FCookies[i].SliceCount = 0; foreach (Cookie c in vs.Client.Cookies) { FCookies[i].Add(c); } } } } else { FUrl.SliceCount = 0; FOrigin.SliceCount = 0; FProtocol.SliceCount = 0; FExtensions.SliceCount = 0; FCompression.SliceCount = 0; FState.SliceCount = 0; FCloseReason.SliceCount = 0; FIsSecure.SliceCount = 0; FCredentials.SliceCount = 0; FCookies.SliceCount = 0; } }
public void Evaluate(int SpreadMax) { if (FInput.IsConnected) { FTextMessage.SliceCount = FInput.SliceCount; FRawMessage.SliceCount = FInput.SliceCount; FMessageType.SliceCount = FInput.SliceCount; FError.SliceCount = FInput.SliceCount; for (int i = 0; i < FInput.SliceCount; i++) { if (FInput[i] is VebSocketClient) { FTextMessage[i].SliceCount = 0; FMessageType[i].SliceCount = 0; FError[i].SliceCount = 0; VebSocketClient vs = FInput[i] as VebSocketClient; FRawMessage[i].ResizeAndDispose(vs.ReceivedMessages.Count, () => new MemoryStream()); int ii = 0; foreach (ClientMessage cm in vs.ReceivedMessages.Values) { FTextMessage[i].Add(cm.Text); FMessageType[i].Add(cm.Type.ToString()); FRawMessage[i][ii].Position = 0; FRawMessage[i][ii].SetLength(cm.Raw.Length); FRawMessage[i][ii].Write(cm.Raw, 0, cm.Raw.Length); ii++; } foreach (VebSocketError e in vs.Errors) { if (e.Exception != null) { FError[i].Add(e.Message + "\n" + e.Exception.Message); } else { FError[i].Add(e.Message); } } } } } else { FTextMessage.SliceCount = 0; FRawMessage.SliceCount = 0; FMessageType.SliceCount = 0; FError.SliceCount = 0; } }
public void Evaluate(int SpreadMax) { if (FInput.IsConnected) { FMessage.SliceCount = FInput.SliceCount; FMessageType.SliceCount = FInput.SliceCount; FError.SliceCount = FInput.SliceCount; for (int i = 0; i < FInput.SliceCount; i++) { if (FInput[i] is VebSocketClient) { FMessage[i].SliceCount = 0; FMessageType[i].SliceCount = 0; FError[i].SliceCount = 0; VebSocketClient vs = FInput[i] as VebSocketClient; foreach (ClientMessage cm in vs.ReceivedMessages.Values) { FMessage[i].Add(cm); FMessageType[i].Add(cm.Type.ToString()); } foreach (VebSocketError e in vs.Errors) { if (e.Exception != null) { FError[i].Add(e.Message + "\n" + e.Exception.Message); } else { FError[i].Add(e.Message); } } } } } else { FMessage.SliceCount = 0; FMessageType.SliceCount = 0; FError.SliceCount = 0; } }
public void Evaluate(int SpreadMax) { if (FInput.IsConnected) { FSending.SliceCount = FInput.SliceCount; FSent.SliceCount = FInput.SliceCount; FError.SliceCount = FInput.SliceCount; for (int i = 0; i < FInput.SliceCount; i++) { if (FInput[i] is VebSocketClient) { FSending[i].SliceCount = 0; FSent[i].SliceCount = 0; FError[i].SliceCount = 0; VebSocketClient vs = FInput[i] as VebSocketClient; for (int j = 0; j < FMessage.SliceCount; j++) { if (FSend[i][j]) { ClientMessage cm = FMessage[i][j] as ClientMessage; if (cm.Type == Opcode.Text) { vs.Send(cm.Text); } else { vs.Send(cm.Raw); } } } FSending[i].SliceCount = 0; foreach (ClientMessage cm in vs.SendingMessages.Values) { FSending[i].Add(cm); } FSent[i].SliceCount = 0; foreach (ClientMessage cm in vs.SentMessages.Values) { FSent[i].Add(cm); } FError[i].SliceCount = 0; foreach (VebSocketError e in vs.Errors) { if (e.Exception != null) { FError[i].Add(e.Message + "\n" + e.Exception.Message); } else { FError[i].Add(e.Message); } } } } } else { FSending.SliceCount = 0; FSent.SliceCount = 0; FError.SliceCount = 0; } }