Node.js写函数对我不起作用

时间:2015-11-24 11:52:47

标签: javascript android node.js

我正在尝试将数据发送到客户端,但它似乎不起作用我没有在客户端接收任何数据。发送数据仅在我使用write外部回调函数时有效。有人有想法吗?

var server = _net.createServer(function (socket) {
  var translater = {
    getSocket: function () {
      return socket;
    }
  };
  socket.on('data', function (data) {
    _db.save_callback(data, function (result) {
      if (result) {
        var re = translater.getSocket().write("ok");
        if (re)
          console.log('send ok...');
        else console.log('send not_ok...');
      }
    });
  });
  socket.on('end', function () {
    console.log('client disconnected');
  });
  //socket.pipe(socket);
});

这是我的客户端代码

protected Void doInBackground(String... params)
 {
    try
      {
         InetAddress serverAddress = InetAddress.getByName(Preferences.SERVER_ADDRESS);
            _socket = new Socket(serverAddress,
                Preferences.SERVER_PORT);
            bufferedWriter = new BufferedWriter(new OutputStreamWriter(
              _socket.getOutputStream()));
            printWriter = new PrintWriter(bufferedWriter,true);
            printWriter.println(params[0]);

            bufferedReader = new BufferedReader(new InputStreamReader(
              _socket.getInputStream()));
            StringBuilder stringBuilder = new StringBuilder();
            String response = "";
            while((response = bufferedReader.readLine()) != null)
            {
                stringBuilder.append(response);
                Log.i(TAG, "Response: " + response);
            }
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            printWriter.close();
            try {
                _socket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        try {
            printWriter.close();
            _socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

0 个答案:

没有答案