2016-03-07 89 views
0

我想從NodeJs寫入文本文件。我的服務器在我的筆記本上運行。目前,我在我的筆記本電腦上運行客戶端,並且工作正常。但是,如果我在運行在raspberrypi上的Linux上運行相同的NodeJs客戶端,它不會寫入文件,也不會寫入任何錯誤。 我有一個客戶端下面的代碼NodeJs文本文件的寫入

var ioC = require('socket.io-client'), 
    ioClient = ioC.connect('http://localhost:4000'), 
    fs = require('fs'), 
    os = require('os'); 

ioClient.on('connect', function() { console.log("socket connected"); }); 

ioClient.on('ChangeState', function(msg){ 
      console.log(msg); 
      fs.writeFile('server.txt', JSON.stringify(msg), function (err){ 
      if (err) return console.log(err); 
      }); 
}); 

任何人可以幫我什麼都可以用這個問題?

+0

也許進程沒有寫入該文件的權限?檢查你的文件權限。 PS。你說它在你的筆記本電腦上工作,但不是你的筆記本電腦運行的操作系統。 – Knarf

+0

我的筆記本電腦在運行Windows 7.請問如何在Linux上設置文件權限? –

+0

最簡單的方法是在運行腳本的文件夾上運行'chmod 777 .'。 – Knarf

回答

1

您正在連接到本地主機,如果客戶端位於不同的計算機上,則不起作用。您需要更改服務器以偵聽您的服務器在您的網絡中的IP地址,並且還需要讓您的客戶端連接到此IP。您可以通過在終端中運行ifconfig來獲得IP。然後(取決於無線或有線連接)尋找像(通常是最後一段):

enter image description here

,並創建這個IP服務器。例如。

192.168.178.30:4000 

並連接到客戶端的相同地址。

要查找的窗口你的ip,refer to this guide