使用nodejs 如何模拟一个socket请求

2019-05-15 06:21:44node.js问题

在做接口本地化代理时,遇到一个问题,就是如何使用nodejs模拟请求一个远程socket请求?

比如地址:wss://a.com:8080/b

var net = require('net')
var client= new net.Socket()
client.connect('8080','a.com')

client.addListener('data', function(data) {
  console.log('data', data.toString())
})

但是后面的path /b 怎么办呢?

我改成下面这种方式,但是会报错

var net = require('net')
var client= new net.Socket()
client.connect('wss://a.com:8080/b')

client.addListener('data', function(data) {
  console.log('data', data.toString())
})
Error: getaddrinfo ENOTFOUND wss://a.com:8080/b
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:26)

我改成下面这种方式,也会报错

var net = require('net')
var client= new net.Socket()
client.connect({
    path:'wss://a.com:8080/b'
})

client.addListener('data', function(data) {
  console.log('data', data.toString())
})

网友回答:

  • jokester jokester 2019-5-15 8:28 回复:

    net.Socket 是tcp/unix socket, 不是WebSocket

    • jsoncode jsoncode 2019-5-16 4:39 回复:jokester
      你知道如何使用nodejs 模拟一个socket请求码?