2016-11-14 155 views
1

,如果我從我的命令行運行下面的代碼工作正常,但如果我在我的項目隨處運行這段代碼我得到這個錯誤:節點JS:net.Socket是不是構造

net.Socket is not a constructor 

我已經嘗試將下面的代碼作爲對象並將其導入/請求到我的項目中,但仍然出現此錯誤。

var net = require('net'); 

var client = new net.Socket(); 
    client.connect(3000, '127.0.0.1', function() { 
    console.log('Connected'); 
    client.write('Hello, server! Love, Client.'); 
}); 

難道我錯過理解什麼要求呢,我用importimport * as獲得「網」也試過。

我不太確定在這種情況下哪些信息會有用。任何建議都會很棒。

+0

您是否通過節點或瀏覽器運行此代碼?如果來自節點,哪個版本的節點('node -v')? – mscdex

+0

如果我通過節點運行,它可以正常工作,例如節點test.js(它的工作原理),如果我通過我的瀏覽器運行它,我得到'net.createConnection不是一個構造函數'或'net.Socket不是一個構造函數'。節點版本4.4.5 –

回答

3

瀏覽器中沒有普通的TCP套接字,這就是爲什麼在瀏覽器中使用net.Socket(通過webpack,browserify等)不起作用的原因。

雖然可能有一個「polyfill」排序需要服務器代表瀏覽器建立TCP連接(或者通過一些Flash或Java小程序的橋接)。

+0

謝謝,我會考慮實施polyfill以使其工作。 –

+0

@AdamEdney:嗨亞當,我得到同樣的問題,在這 – Krishna

+0

@克里希納的任何更新我決定使用websocket。即https://www.npmjs.com/package/websocket。希望這可以幫助! –