Можно ли создать мульти клиент websocket в одном HTML? - PullRequest
1 голос
/ 18 июня 2019

Это мой код для создания мультисетевого соединения:

<!DOCTYPE HTML>
<html>
<head>
   <meta charset="utf-8">
   <title>runoob.com</title>
   <script type="text/javascript">
      function WebSocketTest() {
         if ("WebSocket" in window) {
            for (let i = 0; i < 300; i++) {
               // open web socket
               new WebSocket("ws://localhost:8070");
               console.log("open" + i + "websocket");
            }
         }
      }
   </script>
</head>

<body>
   <div id="sse">
      <a href="javascript:WebSocketTest()">Run WebSocket</a>
   </div>
</body>
</html>

Теперь я хочу получать сообщение с сервера, как написать код?Код, подобный этому, может использовать переменную ws и не работать.

<!DOCTYPE HTML>
<html>
<head>
   <meta charset="utf-8">
   <title>runoob.com</title>
   <script type="text/javascript">
      function WebSocketTest() {
         if ("WebSocket" in window) {
            for (let i = 0; i < 300; i++) {
               // open web socket
               var ws = new WebSocket("ws://localhost:8070");
               console.log("open" + i + "websocket");

               ws.onmessage = function (evt) 
               { 
                 var received_msg = evt.data;
               };
            }
         }
      }
   </script>
</head>

<body>
   <div id="sse">
      <a href="javascript:WebSocketTest()">Run WebSocket</a>
   </div>
</body>
</html>

1 Ответ

0 голосов
/ 20 июня 2019

Напишите код, подобный этому, но Chrome ограничивает подключение к веб-сокету менее 250 в моем тесте:

      function newcon(i) {
         var ws = new WebSocket("wss://ws.example.com");
         console.log("open" + i + "websocket");
         ws.onopen = function () {
            ws.send("client " + i + " send message");
         };

         ws.onmessage = function (evt) {
            var received_msg = evt.data;
         };

         ws.onclose = function () {
            console.log("closed");
         };
      }

Вызов функции:

     function WebSocketTest() {
         if ("WebSocket" in window) {
            for (let i = 0; i < 2; i++) {
               newcon(i);
            }
         }
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...