node.js學習之建立TCP伺服器
阿新 • • 發佈:2019-02-16
/*createServer方法與listen方法的簡單例項*/ var net = require('net'); var server = net.createServer(function (socket) { //當客戶端與伺服器建立連線時列印 console.log('客戶端與伺服器端的連線已建立') }); server.listen(3000,'localhost',function () { console.log('伺服器開始監聽3000埠') }) /*指定伺服器地址及埠已被佔用時需要的處理*/ var net = require('net'); var server = net.createServer(function (socket) { //當客戶端與伺服器建立連線時列印 console.log('客戶端與伺服器端的連線已建立') }); server.listen(3000,'localhost'); server.on('error',function (e) { //當伺服器及埠被佔用時的錯誤程式碼為EADDRINUSE if(e.code == 'EADDRINUSE'){ console.log('伺服器地址及埠已被佔用'); } }); /*使用address方法檢視TCP伺服器監聽的地址資訊*/ var net = require('net'); var server = net.createServer(function (socket) { //當客戶端與伺服器建立連線時列印 console.log('客戶端與伺服器端的連線已建立') }); server.listen(3000,'localhost',function () { var address = server.address(); console.log('被監聽的地址資訊為 %j',address); //本機輸出:被監聽的地址資訊為 {"address":"127.0.0.1","family":"IPv4","port":3000} }) /*使用getConnections方法查詢當前存在的客戶端連線數並設定最大值*/ var net = require('net'); var server = net.createServer(function (socket) { server.getConnections(function (err, count) { console.log('當前存在%d個客戶端連線',count); server.maxConnections = 2; console.log('TCP伺服器的最大連結數為 %d',server.maxConnections); }) }); server.listen(3000,'localhost'); console.log('TCP伺服器被建立'); /*使用close方法拒絕新的客戶端連線請求*/ var net = require('net'); var server = net.createServer(function (socket) { //當第一個客戶端連線被關閉後,TCP伺服器也被被關閉 server.close(function () { console.log('TCP伺服器被關閉'); }); }).listen(3000,'localhost');