当前位置: 首页 > 后端技术 > Node.js

网络套接字包

时间:2023-04-03 17:07:43 Node.js

varwebsock=null;varglobal_callback=null;varserverPort='8000';//webSocket连接端口//functiongetWebIP(){//varcurIP=window.location.hostname;//returncurIP;//}functioninitWebSocket(){//初始化weosocket//ws地址//varwsuri="ws://"+getWebIP()+":"+serverPort;letwsuri="ws://172.16.70.100:9999/qd/userLongConnect";//None(上一步,下一步)designId//letwsuri="ws://172.16.70.100:9999/qd/longConn"websock=newWebSocket(wsuri);websock.onopen=function(){websocketOpen();websock.send({flag:3,designId:"1234567890"});}websock.onmessage=function(e){websocketonmessage(e);}websock.onclose=function(e){websocketclose(e);}websock.onerror=function(){console.log("WebSocketconnectionerroroccurred");}}//方法实际调用函数sendSock(agentData,callback){global_callback=callback;if(websock.readyState===websock.OPEN){//如果ws打开websocketsend(agentData)}elseif(websock.readyState===websock.CONNECTING){//如果打开,等待1s然后调用setTimeout(function(){sendSock(agentData,callback);},1000);}else{//如果没有开启,等待1s再调用setTimeout(function(){sendSock(agentData,callback);},1000);}}//连接成功函数websocketOpen(){console.log("连接成功");}//数据接收函数websocketonmessage(msg){returnglobal_callback(msg.data);}//数据发送函数websocketsend(agentData){letvalue=JSON.stringify(agentData);websock.send(value);}//关闭函数websocketclose(){console.log("Connectionclosed");}initWebSocket();export{sendSock,网络套接字关闭,}