ソケット長接続の3つの方法
1987 ワード
1.netサービス側サービス側【server.js】
クライアント【クライアント.js】
起動方法:node server.js node client.js原理:1.サーバーを起動すると、彼はサーバーのリンクを待っている状態で、サーバーのポート番号、ipはクライアントのリンクのipとポート番号です.2.クライアントとサーバがリンクされている場合はconnectを実行します.
const net = require('net')
const server = new net.createServer()
//
let clinets=[]
server.on('connection', (client) => {//
clinets.push(client) // , client
//client
client.write(' 1818 ')// 。
client.on('data', (msg) => {//
console.log(' ')
console.log(msg.toString())//msg buffer 。 。
broadcast(msg.toString())
})
client.on('error', (e) => {
//
})
client.on('close', (data) => {
//
console.log(' ')
})
})
/*
1.
2.
3. ,
*/
function broadcast(msg){
for(var i=0;i
クライアント【クライアント.js】
var net = require('net')
var readline=require('readline')
var socket = new net.Socket()
// socket
socket.setEncoding = 'UTF-8'
socket.connect('9000', '127.0.0.1', () => {
// socket
})
socket.on('data', (msg) => {
//
console.log(msg.toString())
say()
// , , , , , 。
})
socket.on('error', function (err) {
console.log('error' + err);
})
socket.on('close', function () {
console.log('connection closeed');
})
const r1 = readline.createInterface({
input: process.stdin,
output: process.stdout
})
function say(){
r1.question(' :', (inputMsg) => {
// console.log(inputMsg)
//inputMsg ,
socket.write(inputMsg)
})
}
起動方法:node server.js node client.js原理:1.サーバーを起動すると、彼はサーバーのリンクを待っている状態で、サーバーのポート番号、ipはクライアントのリンクのipとポート番号です.2.クライアントとサーバがリンクされている場合はconnectを実行します.