socket幾種解決方式

2021-09-24 15:48:08 字數 1687 閱讀 9362

1.net的socket (思想)

socketserver.js

const net = require(『net』)

const server = new net.createserver()

let clients = {}

let clientname = 0

server.on(『connection』, (client) => )

client.on('error', (e) => )
//客戶端下線提示

client.on('close', (data) => )
//進行訊息廣播

function broadcast(client, msg)

}server.listen(9000)

socketclient.js

var net = require(『net』)

const readline = require(『readline』)

var port = 9000

var host = 『127.0.0.1』

var socket = new net.socket()

socket.setencoding = 『utf-8』

socket.connect(port, host, () => )

socket.on(『data』, (msg) => )

socket.on(『error』, function (err) )

socket.on(『close』, function () )

//使用者端命令列輸入資訊

const r1 = readline.createinte***ce()

function say() else })}

2.socket.io(低版本的pc端)

目錄結構

io.on(『connection』, function (socket) )

});server.listen(8081, 『ip位址』);

2.2 package.json

}2.3 index.html

socket.io

提交 3.websocket(h5的功能,多用於移動端)

目錄結構

3.1.websocketserver.js

const websocket = require(『ws』)

const ws = new websocket.server()

let clients = {}

let clientname = 0

ws.on(『connection』, (client) => )

client.on('close', () => )function broadcast(client, msg)

}3.2.webclient.js

const ws = new websocket(『ws://localhost:8080/』)

ws.onmessage = (msg) =>

ws.onerror = (err) =>

ws.onclose = () =>

3.3.index.html

websocket

3.4.server.js

const express = require(『express』)

socket通訊異常解決方式keepalive

通常一般的異常程式能夠捕捉到,但是由於某端因為斷網 斷電而無法完成四次揮手時,tcp連線正常但是socket鏈路連線異常,在此情況下一般存在兩種解決方式 心跳檢測機制 客戶端定時傳送心跳檢測包給服務端,服務端收到該心跳包後回乙個對應的心跳包,告知客戶端自己正常。如果在設定的時間期限裡沒收到服務端發回...

解決跨域的幾種方式

1.document.domain 由於js同源策略的限制,指令碼只能讀取和所屬文件 相同的視窗和文件屬性 對於有公共的上級網域名稱,這些伺服器上的頁面之間的跨域訪問可以通過document.domain來進行 預設document.domain存放的是載入文件的伺服器的主機名,可以手動設定這個屬性...

C 程序間通訊的幾種方式 Socket通訊

方式二 socket通訊 套接字 socket 是支援tcp ip協議 安全 和udp協議 快速 的網路通訊的基本操作單元。套接字包含進行網路通訊必須的五種資訊 連線使用的協議,本地主機的ip位址,本地程序的協議埠,遠地主機的ip位址,遠地程序的協議埠。為了滿足不同程式對通訊質量和效能的要求,一般的...