大家讲道理2017-04-17 14:53:56
1.client.connetc
第二參數43表示什麼? ? ? ? , client.connect只接收兩個參數(第二個可選) socket.connect(options[, connectListener])
client.connect(server, function(){
console.log('connected successfully');
})
2.我想知道你的server
傳進來是啥值 可以是{ port: 8888, host: 'localhost' }
或{ path: '/xxx/tt.sock'}
3.設定超時,直接設定timeout即可,詳細見下面的程式碼,但是你要清楚,即使超時了,只是會出發一個timeout
的event,socket連線不會關閉的,必須手動關閉(呼叫end(),或destory())。
4.沒看到你服務端的程式碼,還有客戶端呼叫的程式碼,我寫了一個範例 你自己看
考慮你版本問題,我盡量採用ES5的寫法
server.js
var net = require('net')
var server = net.createServer(function(socket) {
socket.end('goodbye\n')
}).on('error', function(err) {
// handle errors here
throw err
});
// listen on localhost:8888.
server.listen({
host: 'localhost',
port: 8888
}, function() {
console.log('opened server on', server.address())
});
client.js
var net = require('net')
var output = ''
var client = new net.Socket();
client.connect({
port: 8888,
host: 'localhost'
}, function() {
console.log('connetc to server successfully')
})
//设置超时方法
client.setTimeout(3000) //设置3s超时
client.on('timeout', function() {
console.log('timeout for client')
})
client.on('data', function(data) {
output = data.toString()
client.end();
})