正在向 Node.js tcp 服务器注册套接字连接

Registering socket connection with Node.js tcp server

假设我有一个 Node.js tcp 服务器:

const map = new Map();

const s = net.createServer(function(socket){

     socket.pipe(jsonParser()).on('data', function(v){
        v && v.pid && map.set(v.pid, socket);
     }):
});

我使用 Bash 连接到它,如下所示:

exec 3<>/dev/tcp/localhost/9091  # persistent file descriptor

exit_code=$?

if [[ ${exit_code} -ne 0 ]]; then
   echo "could not connect to daemon";
   exit;
fi

echo "{\"pid\":${BASH_PID},\"args\":[${ARGS}],\"cwd\":\"$(pwd)\"}"  >&3

我的问题是 - 我是否必须等待来自套接字的第一条消息才能了解有关套接字的更多信息?或者有什么方法可以在第一次连接时获取信息,而不必监听正在写入的数据 to/from 套接字?

It appears your question is this: "What is the fastest way to register/authenticate with the TCP server if you're making up your own protocol"?

  1. 建立TCP连接
  2. 发送身份验证凭据
  3. 收到表明身份验证成功或失败的响应

建立 TCP 连接后,您不必等待服务器向您发送回信息(这已经在 TCP 级别内部完成 - 连接后您不必有应用程序级别的消息) .