標籤:style blog http ar io color os 使用 sp
最近有一部分東西涉及到網路通訊,導師推薦用C語言,自己之前也接觸過。不過突然想到了NodeJS,試用了下,果然NodeJS大法好。
NodeJS的中文版API看這裡:http://nodeapi.ucdok.com/#/api/
Socket通訊使用Net模組。
首先,寫服務端部分:
var net = require(‘net‘); //create tcp server. var server = net.createServer(function(socket) { socket.write(‘hello client!‘); }); //set listen port. server.listen(1337, function() { console.log(‘server listened on port 1337...\r\n‘); });
require net模組,然後建立server,設定監聽連接埠。這樣就開啟了伺服器。
我們還在建立伺服器的回呼函數裡寫了一條資訊。
然後建立用戶端:
var net = require(‘net‘); var client = net.connect({ port: 1337, host: ‘localhost‘ }, function() { client.write(‘hello server!‘); }); client.on(‘data‘, function(data) { console.log(data.toString()); });
同樣包含net模組,建立用戶端,在回呼函數裡也寫了一條資訊。
監聽data事件,接收服務端的資訊。
先運行服務端後,在運行用戶端,用戶端就會輸出hello client!。
那麼服務端如何接收用戶端的資訊呢?
我們需要讓server監聽 connection事件
server.on(‘connection‘, function(client) { client.name = client.remoteAddress + ‘:‘ + client.remotePort; terminal.on(‘data‘, function(data) { console.log(‘data from ‘ + client.name + ‘:‘ + data.toString()) }); });
每當有用戶端串連上的時候,查看來源並且列印相應的資訊。
實現通訊就是這麼簡單,NodeJS封裝的很好了,具體再查API文檔即可,在通訊中需要將資訊從資料庫讀取或者寫入資料庫,如果使用MySQL,
推薦node-mysql,這篇博文不錯:http://blog.fens.me/nodejs-mysql-intro/
其實之前看過node,一直不上手,突然有這個需求,開始看文檔,需求才是動力。
NodeJS Socket通訊