注册与Node.js tcp服务器的套接字连接

时间:2018-04-20 19:01:21

标签: node.js sockets tcpserver socketserver

假设我有一个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

我的问题是 - 我是否必须等待来自套接字的第一条消息才能知道有关套接字的更多信息?或者有没有办法在第一次连接时获取信息,而不必监听从套接字写入数据?

1 个答案:

答案 0 :(得分:1)

  

看来您的问题是:&#34;如果您正在编写自己的协议,最快的方式是使用TCP服务器进行注册/验证?&#34;

  1. 建立TCP连接
  2. 发送身份验证凭据
  3. 接收表示验证成功或失败的响应
  4. 在建立TCP连接之后,您不必等待服务器向您发回一些内容(已经在TCP级别内部完成了 - 您不必拥有应用程序级别连接后的消息)。