public object BeforeSendRequest(ref Message request, IClientChannel channel) { request.Headers.Add(MessageHeader.CreateHeader("SecurityToken", "", "KEY")); request = TraceMessage(request.CreateBufferedCopy(int.MaxValue)); return null; }
//Create room button click private void createRoom_Click(object sender, EventArgs e) { //Send create message to a server //chatMainWindow.Items.Add("User name : " + userName); if (string.IsNullOrWhiteSpace(createRoom_textBox.Text)) { return; } Client.Message responce = IPC(Command.Create, createRoom_textBox.Text); if (responce == null || responce.command == Command.NotConnected) { msg("Connect to server first!"); return; } if (responce != null && responce.command == Command.Error) { label6.Visible = true; label6.Text = "Room already exist!"; Thread tread = new Thread(turnOfErrorSent); tread.Start(); } else if (responce != null && responce.command.HasFlag(Command.OK)) { //Update current roomName with new chatroom roomName = createRoom_textBox.Text; //Post message to a log window msg("Chat room : " + roomName + " were created!"); } }
private Client.Message DeserializeMessage(byte[] buff) { BinaryFormatter bf = new BinaryFormatter(); Client.Message obj = (Client.Message)bf.Deserialize(new MemoryStream(buff)); return(obj); }
private void selectedIndexChanged(object sender, EventArgs e) { if (chatMainWindow.SelectedItem != null && chatMainWindow.SelectedItem.ToString().Contains("Click on it to download!")) { saveFileDialog1.ShowDialog(); Client.Message responce = IPC(Command.SendFile, Regex.Match(chatMainWindow.SelectedItem.ToString(), @"(?is)File (.+?) added!").Groups[1].Value); File.WriteAllText(saveFileDialog1.FileName, responce.message[0]); } }
public void SentMessage(string message) { var m = new Message { _id = Guid.NewGuid().ToString(), Content = message, UserModel = new UserModel { AvatarPath = "avatar1.png", BgColor = "6EB940", UserName = "******" } }; var serialize = JsonConvert.SerializeObject(m); HubProxy.Invoke("Send", serialize); }
private void serverDisconnect_Click(object sender, EventArgs e) { Client.Message responce = IPC(Command.DisconnectClient, userName); if (responce != null && responce.command.HasFlag(Command.OK)) { msg("You were disconected from server !"); } else { msg("Connect to a server first!"); } }
private void comboBox1_Click(object sender, EventArgs e) { Client.Message responce = IPC(Command.UpdateDropDown, userName); if (responce != null && responce.command.HasFlag(Command.OK)) { comboBox1.Items.Clear(); foreach (var m in responce.message) { comboBox1.Items.Add(m); } } }
private void refreshMainChat_Click(object sender, EventArgs e) { Client.Message responce = IPC(Command.RefreshCurrentRoom, userName); if (responce != null && responce.command.HasFlag(Command.OK)) { chatMainWindow.Items.Clear(); foreach (var m in responce.message) { chatMainWindow.Items.Add(m); } } }
private Client.Message IPC(Command command, string message) { //Create message object and setup values Client.Message request = new Client.Message(); request.command = command; request.message = new List <string>() { message }; //Send message and seve on a server and recieve message from a server return(messages.RPC(request)); }
private void serverConnect_Click(object sender, EventArgs e) { string resp = messages.Connect(serverNamePort.Text.Split(':')); Client.Message responce = new Client.Message(); msg(resp); if (resp != null && resp.Contains("connected")) { do { SetUser(); responce = IPC(Command.SetUser, userName); } while (!responce.command.HasFlag(Command.OK)); } }
private void refreshRooms_Click(object sender, EventArgs e) { Client.Message responce = IPC(Command.RefreshRooms, userName); if (responce != null && responce.command.HasFlag(Command.OK)) { listOfRooms.Items.Clear(); foreach (var m in responce.message) { listOfRooms.Items.Add(m); } } else { msg("No rooms found!"); } }
private void refreshUserList_Click(object sender, EventArgs e) { Client.Message responce = IPC(Command.ListUsers, userName); if (responce != null && responce.command.HasFlag(Command.OK)) { List <string> mess = responce.message; userList.Items.Clear(); foreach (var m in mess) { userList.Items.Add(m); } } else { msg("Can't list users!"); } }
private void attach_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); try { Client.Message responce = IPC(Command.SendFile, File.ReadAllText(openFileDialog1.FileName), openFileDialog1.FileName); if (responce != null && responce.command.HasFlag(Command.OK)) { msg("File " + openFileDialog1.FileName + " added! Click on it to download!"); } else { File.WriteAllText("F:/log.txt", openFileDialog1.FileName); msg("Fail to send a file!"); } } catch (IOException) { File.WriteAllText("F:/log.txt", File.ReadAllText(openFileDialog1.FileName)); } }
public DeserializableCommand(Message message, ISerialize serializer) { if (message == null) { throw new ArgumentNullException("message"); } if (serializer == null) { throw new ArgumentNullException("serializer"); } Debug.Assert( !string.IsNullOrEmpty(message.LockToken), "message.LockToken is a null reference or empty string."); _lockToken = message.LockToken; byte[] messageBytes = message.GetBytes(); // this needs to be saved if needed later, because it can only be read once from the original Message _command = serializer.DeserializeObject<dynamic>(messageBytes); }
private void PhucvuClient(object obj) { ListViewItem itemclient = (ListViewItem)obj; Socket client = (Socket)itemclient.Tag; while (true) { byte[] buff = new byte[100000]; if (client.Connected) { try { client.Receive(buff); Client.Message message = new Client.Message(); message = DeserializeMessage(buff); client.Send(Encoding.UTF8.GetBytes(message.MessageText)); try { foreach (ListViewItem item in lvwClient.Items) { if (item.SubItems[1].Text == message.MessageItem.SubItems[1].Text) { ((Socket)item.Tag).Send(Encoding.UTF8.GetBytes(message.MessageText)); } } } catch { } } catch (Exception) { client.Close(); lvwClient.Items.Remove(itemclient); UpdateListClient(); break; } } } }
private void leaveRoom_Click(object sender, EventArgs e) { try { foreach (var item in listOfRooms.SelectedItems) { Client.Message responce = IPC(Command.LeaveRoom, userName, item.ToString()); if (responce != null && responce.command.HasFlag(Command.OK)) { msg("User " + userName + " leaved room " + item.ToString()); } else { msg("Error: unnable to leave selected room!"); } } } catch (Exception) { msg("Choose room first!"); } }
private void joinButton_Click(object sender, EventArgs e) { try { foreach (var item in listOfRooms.SelectedItems) { Client.Message responce = IPC(Command.JoinRoom, userName, item.ToString()); if (responce != null && responce.command.HasFlag(Command.Error)) { msg("You are already in the room " + item.ToString()); } else { msg("User " + userName + " joined room " + item.ToString()); } } } catch (Exception) { msg("Error: Choose room first!"); } }
private void sendButton_Click(object sender, EventArgs e) { if (comboBox1.Items.Count > 0 && comboBox1.SelectedIndex >= 0) { Client.Message responce = IPC(Command.SendMessage, userName + " says: " + sendMessage_textBox.Text, comboBox1.SelectedItem.ToString()); sendMessage_textBox.Text = ""; sendMessage_textBox.Focus(); if (responce != null && responce.command.HasFlag(Command.OK)) { //Message Sent label7.Visible = true; label7.Text = "Message sent!"; Thread tread = new Thread(turnOfMessageSent); tread.Start(); } } else { msg("Choose room before sending messages!"); } }
/// <summary> /// Sends an event to IoT Hub using the provided eventId GUID /// </summary> /// <param name="eventId"></param> /// <param name="eventData"></param> /// <returns></returns> public async Task SendEventAsync(Guid eventId, dynamic eventData) { string objectType = EventSchemaHelper.GetObjectType(eventData); var objectTypePrefix = _configurationProvider.GetConfigurationSettingValue("ObjectTypePrefix"); if (!string.IsNullOrWhiteSpace(objectType) && !string.IsNullOrEmpty(objectTypePrefix)) { eventData.ObjectType = objectTypePrefix + objectType; } // sample code to trace the raw JSON that is being sent //string rawJson = JsonConvert.SerializeObject(eventData); //Trace.TraceInformation(rawJson); byte[] bytes = _serializer.SerializeObject(eventData); var message = new Message(bytes); message.Properties["EventId"] = eventId.ToString(); await AzureRetryHelper.OperationWithBasicRetryAsync(async () => { try { await _deviceClient.SendEventAsync(message); } catch (Exception ex) { _logger.LogError( "{0}{0}*** Exception: SendEventAsync ***{0}{0}EventId: {1}{0}Event Data: {2}{0}Exception: {3}{0}{0}", Console.Out.NewLine, eventId, eventData, ex); } }); }
public object BeforeSendRequest(ref Message request, IClientChannel channel) { var wsseHeader = CreateWSSecurityHeader(token); request.Headers.Add(new SecurityHeader(token)); return null; }
private void MessageRecievedEventHandler(object sender, Message message) { lock (_pluginLock) { IEnumerable<Command> commands = GetCommandsForPlatform(sender as Platform); Dictionary<Type, DateTime> platformOverflows = _platforms.Find(x => x.Item1 == sender as Platform).Item2; foreach (Command command in commands) { if (!(sender as Platform).CheckElevatedStatus(message)) if (platformOverflows.ContainsKey(command.GetType()) && !(platformOverflows[command.GetType()] < DateTime.UtcNow - command.Overflow)) continue; if (!CheckExpressions(message, command)) continue; Logger.Log(Logger.Level.APPLICATION, "Platform \"{0}\" activated command \"{1}\"", sender.GetType(), command.Name); MethodInfo method = CalculateLeastDerivedMessageHandle(message.GetType(), sender.GetType(), command.GetType()); Task.Run(new Action(() => { method.Invoke(command, new object[] { message, sender }); })); platformOverflows[command.GetType()] = DateTime.UtcNow; } } }
private bool CheckExpressions(Message message, Command command) { foreach (var regex in command.Expressions) { if (regex.Match(message.Content).Success) return true; } return false; }
public override bool TryReceive(TimeSpan timeout, out Message message) { message = Receive(timeout); return message != null; }
/// <summary> /// Send a message to server /// </summary> /// <param name="Message"></param> /// <param name="Pr"></param> public void DeliverMessage(string Message, Configuration.Priority Pr = Configuration.Priority.Normal) { Message text = new Message(); text._Priority = Pr; text.message = Message; lock (messages) { messages.Add(text); return; } }
public override void Send(Message message, TimeSpan timeout) { if (State == CommunicationState.Opened && !message.IsFault) { #if VERBOSE DebugHelper.Start(); #endif byte[] body; IBasicProperties basicProperties = m_model.CreateBasicProperties(); // Set message properties basicProperties.Timestamp = new AmqpTimestamp(DateTime.Now); basicProperties.ContentType = "SOAP"; basicProperties.DeliveryMode = m_bindingElement.PersistentDelivery ? (byte)2 : (byte)1; if (!string.IsNullOrEmpty(m_bindingElement.TTL)) { basicProperties.Expiration = m_bindingElement.TTL; } // TODO: read custom headers and put it into the message properties //foreach (MessageHeaderInfo messageHeaderInfo in message.Headers) //{ // basicProperties.Headers.Add(messageHeaderInfo.Name, ""); //} if (m_bindingElement.ReplyToExchange != null) { message.Headers.ReplyTo = new EndpointAddress(m_bindingElement.ReplyToExchange); } using (MemoryStream str = new MemoryStream()) { m_encoder.WriteMessage(message, str); body = str.ToArray(); } RabbitMQUri uri = new RabbitMQUri(RemoteAddress.Uri); m_model.BasicPublish(uri.Endpoint, uri.RoutingKey, basicProperties, body); #if VERBOSE DebugHelper.Stop(" #### Message.Send {{\n\tAction={2}, \n\tBytes={1}, \n\tTime={0}ms}}.", body.Length, message.Headers.Action.Remove(0, message.Headers.Action.LastIndexOf('/'))); #endif } }
public void WriteMessage(Message message) { networkClient.WriteMessage(message); }
private void OnMessageReceived(Message message) { var handler = MessageReceived; if (handler != null) { handler(message); } }
public void AfterReceiveReply(ref Message reply, object correlationState) { }
public void AfterReceiveReply(ref Message reply, object correlationState) { try { reply.Headers.RemoveAll("Security", WSSecurity10Constants.Namespace); // remove the Security header so Exception is not thrown } catch { }; }