如何使用node.js和net模块通过套接字发送数据

时间:2016-03-30 10:00:59

标签: javascript node.js sockets

我是节点的新手,我正在尝试使用网络库通过套接字发送数据,我基本上想要按下按钮发送数据,按下按钮,http请求被发送到服务器并响应它看起来像这样

app.get('/clientmessageaction/:name',function(req,res){
      var name=req.params.name;
      var index=clientNameArray.indexOf(name);             //getting the index of the name for the socket

      if(index>=0)                                           //check if socket with that name exists
      {
           socketArray[index].on('connect',function(){
           socketArray[index].write("server says hello!");
           });
       }
      else {
       console.log("no client found ");
      }

  });

当客户端发送消息“我是客户端”时,我将套接字保存在数组中。

server.on('connection',function(socket){

  socket.on('data',function(data){
    var dat=data.toString();
    var substr=dat.substr(0,7);
    socket.write("hello socket");

        if(substr=="i am client")
        {
              addSocket(socket,clientname);


            });

        }

      });
  socket.on('end', function()              //whenever client is disconnected
  {
     removeSocket(socket,clientname);                                                    
  });

});

所以这里遇到的问题是每当发出http请求时(即触发第一个代码块时)我都会收到错误, 错误表明.on,.write被调用并且那些函数不存在,其中这些函数在第二个代码块中工作。 到目前为止(在使用几小时的代码安装之后).on和.write仅适用于server.on函数。 但是我想在发出http请求时发送数据(即从前端按下按钮)

请帮忙 谢谢!

0 个答案:

没有答案