socket-async

1.0.1 • Public • Published

This is a basic socket library, based on net.Socket, it supports asynchronous writing, as well as http and socks5 proxies.

example

const SocketAsync = require('socket-async');

const socket = new SocketAsync();

try{
  await socket.connectAsync({
    timeout: 1000 * 10, // 超时时间,建立连接的超时时间
    host: 'google.com', // 目标主机
    port: 443, // 目标端口
    proxy:{ // 代理信息
      host: '127.0.0.1', // 代理主机
      port: 1086, // 代理端口
      type: 'socks5', // 代理类型,默认为 socks5,仅支持 socks5 和 http
      username: '', // 用户名,如果需要鉴权时提供
      password: '', // 密码,如果需要鉴权时提供
      timeout: 1000 * 10 // 代理连接超时时间,单位 ms,默认 10 秒
    }
  });
}catch(e){
  console.error(e);
  // 如果代理故障,则会抛出 ProxyError 异常。
}

// 读取指定条件的数据
let chunks = await socket.readAsync((data)=>{
  return data.length > 3;
});

socket.spliceChunks(0,3); // 清空缓冲区的前三字节

// 读取缓冲区所有数据并清空缓冲区
chunks = await socket.readAndClearAsync((data)=> data.length);

Readme

Keywords

none

Package Sidebar

Install

npm i socket-async

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

18.9 kB

Total Files

5

Last publish

Collaborators

  • roll777