Guest User

Untitled

a guest
Jan 17th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. var URL = 'ws://localhost:8181';
  2. var chatClient = null;
  3.  
  4. function connect(){
  5. chatClient = new WebSocket(URL);
  6.  
  7. chatClient.onmessage = function (event) {
  8. var jsonObj = JSON.parse(event.data);
  9.  
  10. var messagesArea = $("#messageTable");
  11. var trTable = document.createElement('tr');
  12.  
  13. var tdTable = document.createElement('td');
  14. tdTable.className = 'message-from';
  15.  
  16. var aTable = document.createElement('a');
  17. aTable.className = 'angled-img';
  18.  
  19. var adivTable = document.createElement('div');
  20. adivTable.className = 'img';
  21. adivTable.style = 'width:40px; margin-left:-10px;';
  22. adivTable.innerHTML = '<img src="'+jsonObj.userPic+'">';
  23.  
  24. var spanTable = document.createElement('span');
  25. spanTable.className = 'message-from-name';
  26. //spanTable.style = 'margin-left:-60px;';
  27. spanTable.innerHtml = '<?=$accinfo['username'];?>';
  28.  
  29. var spanDataTable = document.createElement('span');
  30. spanDataTable.className = 'date';
  31. //spanDataTable.style = 'margin-left:-60px;';
  32. spanDataTable.innerHTML = '<?=$date?>';
  33.  
  34. var tdDescriptTable = document.createElement('td');
  35. tdDescriptTable.className = 'message-description';
  36.  
  37. var msgDescriptTable = document.createElement('div');
  38. msgDescriptTable.className = 'message-excerpt';
  39. msgDescriptTable.innerHTML = jsonObj.message;
  40.  
  41. var tdActionTable = document.createElement('td');
  42. tdActionTable.className = 'message-action';
  43.  
  44. var actTable = document.createElement('a');
  45. actTable.className = 'message-delete';
  46.  
  47. var iTable = document.createElement('i');
  48. iTable.className = 'fa fa-times';
  49.  
  50. trTable.appendChild(tdTable);
  51.  
  52. tdTable.appendChild(aTable);
  53. aTable.appendChild(adivTable);
  54.  
  55. tdTable.appendChild(spanTable);
  56. tdTable.appendChild(spanDataTable);
  57.  
  58. tdTable.appendChild(tdDescriptTable);
  59. tdDescriptTable.appendChild(msgDescriptTable);
  60.  
  61. trTable.appendChild(tdActionTable);
  62. tdActionTable.appendChild(actTable);
  63. actTable.appendChild(iTable);
  64.  
  65. messagesArea.append(trTable);
  66. $(".comments-block").animate({scrollTop: $(".comments-block")[0].scrollHeight}, -500);
  67.  
  68. };
  69. }
  70. connect();
  71.  
  72. function sendMessage() {
  73. var convId = $("#conversation_id").val();
  74. var usrfromId = $("#user_from").val();
  75. var usrtoId = $("#user_to").val();
  76. var userPic = '<?=$usrPhoto?>';
  77. var inputElement = $("#mess").val();
  78.  
  79. if (inputElement !== "") {
  80. var jsonObj = {"convId" : convId, "usrfromId" : usrfromId, "usrtoId" : usrtoId, "message" : inputElement, "userPic" : userPic};
  81. chatClient.send(JSON.stringify(jsonObj));
  82. }
  83. }
  84.  
  85. function disconnect () {
  86. chatClient.close();
  87. }
  88.  
  89. class Server
  90. {
  91. static readonly List<IWebSocketConnection> allSockets = new List<IWebSocketConnection>();
  92. static readonly WebSocketServer server = new WebSocketServer("ws://0.0.0.0:8181");
  93.  
  94. static void Main()
  95. {
  96. FleckLog.Level = LogLevel.Debug;
  97. server.Start(socket =>
  98. {
  99. socket.OnOpen = () =>
  100. {
  101. Console.WriteLine("Open!");
  102. allSockets.Add(socket);
  103. };
  104. socket.OnClose = () =>
  105. {
  106. Console.WriteLine("Close!");
  107. allSockets.Remove(socket);
  108. };
  109. socket.OnMessage = message =>
  110. {
  111. Console.WriteLine(message);
  112. allSockets.ToList().ForEach(s => s.Send(message));
  113. };
  114. });
  115.  
  116.  
  117. var input = Console.ReadLine();
  118. while (input != "exit")
  119. {
  120. foreach (var socket in allSockets.ToList())
  121. {
  122. socket.Send(input);
  123. }
  124. input = Console.ReadLine();
  125. }
  126.  
  127. }
  128.  
  129. static void SendToSocketById(String input, Guid id)
  130. {
  131. var socket = allSockets.Find(client => client.ConnectionInfo.Id == id);
  132. socket.Send(input);
  133. }
  134.  
  135. }
Add Comment
Please, Sign In to add comment