GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengirim pesan ke soket web socket.io saya dari baris perintah di linux?

Anda dapat menulis klien sederhana seperti ini (beri nama client tanpa ekstensi):

#!/usr/bin/env node
const socket = require('socket.io-client')('http://localhost:3000');
const someDelay = 10;
socket.on('connect', function () {
    console.log('connected...');
    if (process.argv[2] && process.argv[3]) {
        console.log('sending ' + process.argv[2] + ': ' + process.argv[3]);
        socket.emit(process.argv[2], process.argv[3]);
        setTimeout(() => {
            process.exit(0);  
        }, someDelay);
    } else {
        console.log('usage: ./client.js <event> <data>');
        process.exit(1);
    }
});

dengan package.json yang sangat mendasar

{
  "name": "client",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "client"
  },
  "dependencies": {
    "socket.io-client": "^1.4.6"
  }
}

Kemudian jalankan npm install , berikan client izin untuk dieksekusi dan Anda dapat menjalankannya dengan (misalnya) ./client message testControl

Bagaimana menurutmu?;)


Anda dapat menggunakan klien iocat cli dari npm yang didasarkan pada Socket.IO.

$ iocat --socketio ws://127.0.0.1:8081
< Hello there

Untuk solusi tingkat rendah (socket.io-independent), Anda dapat menggunakan alat websocat saya.

Contoh sesi untuk berkomunikasi dengan contoh obrolan socket.io:

$ websocat 'wss://socket-io-chat.now.sh/socket.io/?transport=websocket'
< 0{"sid":"yGVElkNCXVgc5w_JOVtc","upgrades":[],"pingInterval":25000,"pingTimeout":60000}
< 40
> 2
< 3
> 42["add user", "websocat"]
< 42["login",{"numUsers":15}]
> 42["new message", "Hello from websocat"]
< 42["typing",{"username":"1223"}]
< 42["new message",{"username":"1223","message":"Reply from browser."}]
< 42["stop typing",{"username":"1223"}]
> 42["new message", "OK, may flood again."]

> menunjukkan pesan yang akan diketik.


Saya dapat mengatasinya dengan melakukan hal berikut:

  1. Buat titik akhir baru di server Anda

    app.post('/sendSocketMessage', function(req, res){
      console.log("Request is "+JSON.stringify(req.body));
      socketManager.parse(req.body); //send message directly to your socket parser
      res.status(200).send("OK");
    });
    
  2. Kirim data menggunakan curl

    curl --noproxy localhost, 
         -X POST 
         --data "data=testControl,loadModels,start," 
         http://localhost:8081/sendSocketMessage
    

Linux
  1. Linux – Bagaimana Memulai Partisi Windows Dari Baris Perintah Grub?

  2. Bagaimana Cara Memanggil Makro Openoffice Dari Baris Perintah Linux?

  3. Bagaimana saya bisa mengirim email terenkripsi gpg secara otomatis dari baris perintah linux?

  1. Bagaimana cara mendapatkan alamat IP saya dari baris perintah?

  2. Cara menjalankan TeX dari antarmuka baris perintah di Linux

  3. cara menghasilkan alamat MAC acak dari baris perintah Linux

  1. Konfigurasikan ruang kerja Linux dari jarak jauh dari baris perintah

  2. Cara menginstal perangkat lunak dari baris perintah Linux

  3. Cara Menjalankan Query MySQL/MariaDB Langsung dari Command Line Linux