private void sendMessages(int customerId, string orderId, string name) { chatMessage message = new chatMessage(customerId, int.Parse(orderId), 0, " היי " + name + " , "); message.addMessage(); message.messageText = " הזמנתך שמספרו הוא " + orderId + " בוצעה בהצלחה "; message.addMessage(); }
private void sendRegMessage(int customerId, string orderId, string name) { chatMessage message = new chatMessage(customerId, int.Parse(orderId), 0, " היי " + name + " , "); message.addMessage(); message.messageText = "ברכות על רישומך למערכת \n מספר הלקוח שלך הוא " + customerId; message.addMessage(); }
private async void SendMessage_Clicked(object sender, EventArgs e) { var chatObj = new chatMessage { userMessage = entryMessage.Text, userName = user1.Name + " " + user1.Surname }; await db.saveMessage(chatObj, rm.Key); entryMessage.Text = null; }
public int Post(chatMessage message) { if (message.messageText == "") { return(message.chatTakenCare()); } else { return(message.addMessage()); } }
public static void Add(chatMessage msg) { if (OmniNetwork.Dedicated) return; instance.log.Add(msg); instance.updateActiveMsgs(msg); instance.scrollPosition.y = 100 * instance.log.Count; instance.timer = 0; show = true; showInput = false; }
/// <summary> /// обработка выхода нового пользозвателя /// </summary> /// <param name="client"></param> /// <returns></returns> public async Task newClient(chatClient client) { onlineClients.Add(client); //формирование сообщения chatMessage chatMessage = new chatMessage(); chatMessage.authCommand(client.user); chatMessage.text = "Вошел в чат"; await broadcast(chatMessage); }
/// <summary> /// рассылка всем активным клиентам /// </summary> /// <param name="message"></param> /// <returns></returns> public async Task broadcast(chatMessage message) { foreach (chatClient client in onlineClients) { if (client.socket.State != WebSocketState.Open) { continue; } WebSocket socket = client.socket; string json = JsonConvert.SerializeObject(message); var buffer = Encoding.UTF8.GetBytes(json); await socket.SendAsync(new ArraySegment <byte>(buffer), WebSocketMessageType.Text, false, CancellationToken.None); } }
private async Task Handler(HttpContext context, WebSocket webSocket, chatClientBuffer chatClientBuffer, IdbConnector connectionContext) { var buffer = new byte[4 * 1024]; ArraySegment <byte> answer = new ArraySegment <byte>(buffer); WebSocketReceiveResult result = await webSocket.ReceiveAsync(answer, CancellationToken.None); while (webSocket.State == WebSocketState.Open) { string answerstr = Encoding.UTF8.GetString(answer.Array, answer.Offset, result.Count); chatMessage mes = JsonConvert.DeserializeObject <chatMessage>(answerstr); parseByCommand(mes, webSocket, chatClientBuffer, connectionContext); result = await webSocket.ReceiveAsync(new ArraySegment <byte>(buffer), CancellationToken.None); } }
/// <summary> /// обработка выхода пользователя /// </summary> /// <param name="user"></param> /// <returns></returns> public async Task closeClient(chatUser user) { //закрываем сокет chatClient chatClient = onlineClients.Where(client => client.user.id == user.id).First(); onlineClients = onlineClients.Where(client => client.user.id != user.id).ToList(); using (chatMessage m = new chatMessage()) { m.command = chatPacket.Commands.CLOSE; m.text = "Вышел из сети"; m.type = chatPacket.TypeMessage.SYSTEM; m.userSender = user; await broadcast(m); } //await chatClient.socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Normal Closure", CancellationToken.None); }
// GET: Chat public ActionResult send(string key, string message) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://127.0.0.1:18080"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); chatMessage msg = new chatMessage(); msg.content = message; msg.doctorName = Session["username"].ToString(); msg.isPatient = ""; msg.patientName = ""; var response = client.PostAsJsonAsync <chatMessage>("Epione_JEE-web/epione/messages/ques/send/" + key, msg); return(Json(new { result = "ok" }, JsonRequestBehavior.AllowGet)); }
private async void button1_Click(object sender, EventArgs e) { //формируем сообщение chatMessage message = new chatMessage(); string text = textBox1.Text; //если сообщение начинается с \, то это команда на смену статуса if (text[0] == '\\') { text = text.Substring(1); message.prepaireStatus(me, text); } else { message.prepaireMessage(me, text); } //оборачиваем сообщение и отправляем string json = JsonConvert.SerializeObject(message); await con.sendString(json); }
private async void button1_Click(object sender, EventArgs e) { //определяем себя chatUser me = new chatUser(); me.login = loginBox.Text; chatPacket packet = new chatPacket(); //готовим пакет на аутентификацию string strJson = JsonConvert.SerializeObject(packet.authCommand(me)); //формируем коннектор c = new connector(); //готовим параметры подключения Dictionary <string, object> d = new Dictionary <string, object>(); d.Add("uri", new Uri("ws://localhost:64636/Chat")); //инициализируем подключение c.initialize(d); //открываем подключение await c.open(); //отправляем подключение await c.sendString(strJson); //получаем ответ string message = await c.reciveString(); //разворачиваем ответ chatMessage answer = JsonConvert.DeserializeObject <chatMessage>(message); //если получили ответ с guid то считаем что подключение удалось if (answer.userSender.id != Guid.Empty) { //открываем основную форму ((ChatForm)this.Owner).saveConnection(c, answer.userSender); this.Close(); } }
public async Task saveMessage(chatMessage cm, string room) { await service.client.Child("Chats/" + room + "/Message").PostAsync(cm); }
/// <summary> /// обработчик сообщений /// </summary> /// <returns></returns> private async Task handler() { //определяем класс пользователей users = new userListAdapter(UserList); //сохраняем свое имя this.Text = this.Text + ":" + me.login; //если все нормально, крутим бесконечный цикл на обработку while (true) { if (con != null) { //получаем строку от сервера string json = await con.reciveString(); //преобразуем в объект chatMessage messageObject = JsonConvert.DeserializeObject <chatMessage>(json); //смотрим что за команда switch (messageObject.command) { case (chatPacket.Commands.AUTH): { //при авторизации, добавляем пользователя в список users.append(messageObject.userSender); break; } case (chatPacket.Commands.CLOSE): { //при закрытии соединения, удаляем из списка users.delete(messageObject.userSender); break; } case (chatPacket.Commands.INFO): { //если пришло информационное сообщение, то смотрим от кого if (messageObject.type == chatPacket.TypeMessage.SYSTEM) { //если от системы, то это значит что система дает список активных юзеров //значит перезаполняем список users.clear(); string onlineUsersJson = messageObject.text; List <chatUser> chatUsers = JsonConvert.DeserializeObject <List <chatUser> >(onlineUsersJson); foreach (chatUser user in chatUsers) { users.append(user); } continue; } else if (messageObject.type == chatPacket.TypeMessage.USER) { //если же информационное сообщение от пользователя, то значит он сменил статус //обновим его messageObject.text = "Сменил статус: '" + messageObject.text + "'"; users.updateUser(messageObject.userSender); } break; } } //выводим сообщение string outputMessage = messageObject.userSender.login.ToString() + ": " + messageObject.text + "\n"; MessageField.Text += outputMessage; } //проверка соединения. Если соединения нет, то запускаем авторизацию if (con.getStatus() != System.Net.WebSockets.WebSocketState.Open) { Auth auth = new Auth(); auth.Owner = this; auth.ShowDialog(); } } }
public activeMessage(chatMessage msg) { g = new GUIContent(msg.msg); this.msg = msg; bounds = new Rect(); }
private async void parseByCommand(chatMessage message, WebSocket webSocket, chatClientBuffer chatClientBuffer, IdbConnector connectionContext) { switch (message.command) { case (chatPacket.Commands.AUTH): { if (message.userSender.id == Guid.Empty) { //получаем пользователей из БД chatUser[] users = (chatUser[])await connectionContext.getData(message.userSender.login); chatUser user; //если это новый пользователь if (users.Length == 0) { //даем ему guid Guid id = Guid.NewGuid(); user = new chatUser(); user.id = id; } else { //если пользователь не новый, то из запроса забираем его id user = users[0]; } //проверка на подключенного пользователя chatClient client = chatClientBuffer.getClientByGuid(user.id); //если пользователь уже был подключен if (client != null) { if (client.socket.State == WebSocketState.Open) { //возвращаем пользователю его сообщение await sendMessage(webSocket, message); await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Пользователь уже в сети", CancellationToken.None); return; } else { //если пользователь уже был в сети, но сокет не открыт, вырубаем его message.userSender = user; await chatClientBuffer.closeClient(message.userSender); } } message.userSender = user; //подключаем await sendMessage(webSocket, message); //отправим всех юзеров chatMessage informationMessage = new chatMessage(); informationMessage.connectedUserList(message.userSender); informationMessage.text = JsonConvert.SerializeObject(chatClientBuffer.getOnlineUsers()); await sendMessage(webSocket, informationMessage); //добавление в клиенты await chatClientBuffer.newClient(new chatClient(webSocket, message.userSender)); } break; } case (chatPacket.Commands.SEND): { await chatClientBuffer.broadcast(message); break; } case (chatPacket.Commands.INFO): { //смена статуса //await chatClientBuffer.changeStatus(message.userSender, message.text); message.userSender.status = message.text; await chatClientBuffer.broadcast(message); connectionContext.Update(message.userSender); /*chatMessage informationMessage = new chatMessage(); * informationMessage.connectedUserList(message.userSender); * informationMessage.text = JsonConvert.SerializeObject(chatClientBuffer.getOnlineUsers()); * await sendMessage(webSocket, informationMessage);*/ break; } case (chatPacket.Commands.CLOSE): { await chatClientBuffer.closeClient(message.userSender); break; } default: { break; } } }
void updateActiveMsgs(chatMessage msg) { for (int i = 0; i < activeChat.Count; i++) { if (activeChat[i].msg.id == msg.id) activeChat.RemoveAt(i); } activeChat.Add(new activeMessage(msg)); }
/// <summary> /// отправка сообщения /// </summary> /// <param name="webSocket"></param> /// <param name="message"></param> /// <returns></returns> async Task sendMessage(WebSocket webSocket, chatMessage message) { string json = JsonConvert.SerializeObject(message); var buffer = Encoding.UTF8.GetBytes(json); await webSocket.SendAsync(new ArraySegment <byte>(buffer), WebSocketMessageType.Text, false, CancellationToken.None); }