Можно ли подключиться к socket.io с помощью get или post? - PullRequest
0 голосов
/ 16 апреля 2019

Я новичок в socket.io.Я хотел разработать небольшое приложение, используя его.Я знаю основы socket.io.Я следовал этой и этой документации.

Я также могу сделать это простое соединение.Код:

Клиент:

<script src="/socket.io/socket.io.js"></script>
  <script>
        console.log(location.protocol+'//'+location.host);
                var socket = io.connect(location.protocol+'//'+location.host), socketwithApi = io.connect(location.protocol+'//'+location.host + '/apikey/');
  </script>

    <script type="text/javascript">
        var i=0;
              $(document).on('click','#socket-emit-btn', function(){
                let message = location.href;
                socket.emit("test",message);

              });
              socket.on("testlistened",function(data){
                  i ++;
                  console.log(i);
                  console.log(data);
                  if(data){
                    $("#console-div").html(data);
                  }else{
                    $("#console-div").html("{empty}");
                  }
                });

              socketwithApi.on('apikey',function(data){
                   console.log(data);
                });
    </script>

Сервер:

   //consider everything needed is defined
    var apikey = io
      .of('/apikey/')
      .on('connection', function (socket) {
        socket.emit('apikey', { news: 'item' });
    });

    io.on('connection', function (socket) {
        let clientID = socket.id
        let clientIP = socket.handshake.address
        if (client) client.socket = socket
        console.log('User-Client Connected!: IP: ' + clientIP)

        socket.on("test",function(data){
            console.log("listened");
            let ParsedData = url.parse(data);
            let responseData = {
                UrlScheme:ParsedData,
                socketID: clientID,
                api_key: ParsedData.pathname
            }
            console.log(responseData);
            console.log(`${TRANSACTIONGETRECEIPT}_RESPONSE`)
            socket
                .binary(true)
                .emit('testlistened', JSON.stringify(responseData))
        });

        socket.on('disconnect', function (data) {
            console.log(clientID + ' has disconnected')
        })
    })

Все работает нормально, я могу излучать и слушать как на стороне сервера, так и на стороне клиента,Но я не нашел документацию, которая бы указывала, можно ли отправить http get или отправить запрос из браузера или почтальона в socket.io.Можно ли отправить запрос только со страницы, где присутствует сокет-клиент, или мы можем также отправить запрос типа

  http://localhost:8099/api-hastgraph-key/socket.io/?EIO=3&transport=websocket&sid=w0kDs4oGI7SVwB3YAAAC
  or http://localhost:8099/socket.io/api-hastgraph-key?EIO=3&transport=websocket&sid=w0kDs4oGI7SVwB3YAAAC

из браузера и подключиться к сокету.

Спасибо.Любая помощь высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...