npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

websocket2tcpsocket

v1.0.3

Published

websocket2tcpsocket

Downloads

7

Readme

websocket2tcpsocket

websocket 与 tcp socket的桥梁。方便js编程,可以直接与tcp服务器通信。

安装

npm install websocket2tcpsocket --save

使用方法1

指定 websocket 地址的方式:

var W2T = require('../index.js')
var w2t = new W2T()
w2t.start({ host: 'localhost', port: 8000 })

详细可以参见 test1

使用方法2

可以传入express服务器实例,来初始化websocket:

const express = require('express')
const http = require('http')
const W2T = require('../index.js')
const app = express()
app.use(function (req, res) {
  res.send({ msg: 'hello' })
})
const server = http.createServer(app)
const w2t = new W2T()
w2t.start({server})
server.listen(8000, function listening () {
  console.log('Listening on %d', server.address().port)
})

详细可以参见 test2

websocket客户端说明

首条消息,需要告知W2T,打通哪个地址。

这样每个websocket都可以发往不同的tcp服务器。更加灵活。

例如:

ws.on('open', function open() {
  // 首条消息,打通tcp链路。
  ws.send('{"tip":"localhost", "tport":12345}');
  ws.send(String(random()));
});

编写目的

github上有不少 websocket proxy。

但是都是以可执行方式提供。不方便内嵌整合进现有web服务中。

且都是目的TCP服务器配置唯一。不方便每个websocket,需要到不同TCP服务器的情况。

本库,目的有以下:

  • 以库方式提供,方便直接内嵌入web service中。

  • 达成网页可以直接通过它的web service,访问tcp服务器。

  •   每个websocket连接可以自定义发往的TCP服务器。更加灵活。

参考项目

本项目参考了 https://github.com/novnc/websockify