Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var URL = 'ws://localhost:8181';
- var chatClient = null;
- function connect(){
- chatClient = new WebSocket(URL);
- chatClient.onmessage = function (event) {
- var jsonObj = JSON.parse(event.data);
- var messagesArea = $("#messageTable");
- var trTable = document.createElement('tr');
- var tdTable = document.createElement('td');
- tdTable.className = 'message-from';
- var aTable = document.createElement('a');
- aTable.className = 'angled-img';
- var adivTable = document.createElement('div');
- adivTable.className = 'img';
- adivTable.style = 'width:40px; margin-left:-10px;';
- adivTable.innerHTML = '<img src="'+jsonObj.userPic+'">';
- var spanTable = document.createElement('span');
- spanTable.className = 'message-from-name';
- //spanTable.style = 'margin-left:-60px;';
- spanTable.innerHtml = '<?=$accinfo['username'];?>';
- var spanDataTable = document.createElement('span');
- spanDataTable.className = 'date';
- //spanDataTable.style = 'margin-left:-60px;';
- spanDataTable.innerHTML = '<?=$date?>';
- var tdDescriptTable = document.createElement('td');
- tdDescriptTable.className = 'message-description';
- var msgDescriptTable = document.createElement('div');
- msgDescriptTable.className = 'message-excerpt';
- msgDescriptTable.innerHTML = jsonObj.message;
- var tdActionTable = document.createElement('td');
- tdActionTable.className = 'message-action';
- var actTable = document.createElement('a');
- actTable.className = 'message-delete';
- var iTable = document.createElement('i');
- iTable.className = 'fa fa-times';
- trTable.appendChild(tdTable);
- tdTable.appendChild(aTable);
- aTable.appendChild(adivTable);
- tdTable.appendChild(spanTable);
- tdTable.appendChild(spanDataTable);
- tdTable.appendChild(tdDescriptTable);
- tdDescriptTable.appendChild(msgDescriptTable);
- trTable.appendChild(tdActionTable);
- tdActionTable.appendChild(actTable);
- actTable.appendChild(iTable);
- messagesArea.append(trTable);
- $(".comments-block").animate({scrollTop: $(".comments-block")[0].scrollHeight}, -500);
- };
- }
- connect();
- function sendMessage() {
- var convId = $("#conversation_id").val();
- var usrfromId = $("#user_from").val();
- var usrtoId = $("#user_to").val();
- var userPic = '<?=$usrPhoto?>';
- var inputElement = $("#mess").val();
- if (inputElement !== "") {
- var jsonObj = {"convId" : convId, "usrfromId" : usrfromId, "usrtoId" : usrtoId, "message" : inputElement, "userPic" : userPic};
- chatClient.send(JSON.stringify(jsonObj));
- }
- }
- function disconnect () {
- chatClient.close();
- }
- class Server
- {
- static readonly List<IWebSocketConnection> allSockets = new List<IWebSocketConnection>();
- static readonly WebSocketServer server = new WebSocketServer("ws://0.0.0.0:8181");
- static void Main()
- {
- FleckLog.Level = LogLevel.Debug;
- server.Start(socket =>
- {
- socket.OnOpen = () =>
- {
- Console.WriteLine("Open!");
- allSockets.Add(socket);
- };
- socket.OnClose = () =>
- {
- Console.WriteLine("Close!");
- allSockets.Remove(socket);
- };
- socket.OnMessage = message =>
- {
- Console.WriteLine(message);
- allSockets.ToList().ForEach(s => s.Send(message));
- };
- });
- var input = Console.ReadLine();
- while (input != "exit")
- {
- foreach (var socket in allSockets.ToList())
- {
- socket.Send(input);
- }
- input = Console.ReadLine();
- }
- }
- static void SendToSocketById(String input, Guid id)
- {
- var socket = allSockets.Find(client => client.ConnectionInfo.Id == id);
- socket.Send(input);
- }
- }
Add Comment
Please, Sign In to add comment