登录
首页 >  数据库 >  MySQL

nodejs 使用nodejs-websocket模块实现点对点实时通讯

来源:SegmentFault

时间:2023-02-24 13:16:55 320浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《nodejs 使用nodejs-websocket模块实现点对点实时通讯》,涉及到MySQL、Redis、nginx、spring、javascript,有需要的可以收藏一下

1、首先安装好nodejs-websocket

npm install nodejs-websocket --save -g

2、编写服务端

var ws = require("nodejs-websocket")
var AllUserData = new Array()
// Scream server example: "hi" -> "HI!!!"
var server = ws.createServer(function (conn) {
  console.log("New connection")
  conn.on("text", function (str) {
    console.log("Received "+str)
    AllUserData.push({
      'id':str,
      'ws':conn
    })
    conn.sendText(str.toUpperCase()+"!!!")
  })
  conn.on("close", function (code, reason) {
    console.log("Connection closed")
    // 当用户退出的时候捕捉到退出的用户
    for (var i=0 in AllUserData) {
      if (AllUserData[i].ws == conn) {
        console.log(AllUserData[i])
      }
    }
  })
}).listen(8001)

3、简易客户端

`
`
`
<title>django-websocket</title>`
script src=``"[http://code.jquery.com/jquery-1.11.1.min.js](http://code.jquery.com/jquery-1.11.1.min.js)"``>`
<script type='``"text/javascript"``'>``//<![CDATA[`
$(``function` `() {`
$(``'#connect_websocket'``).click(``function` `() {`
if` `(window.s) {`
window.s.close()`
}`
/*创建socket连接*/`
var` `socket =` `new` `WebSocket(``"[ws://127.0.0.1:8001](ws://127.0.0.1:8001/)"``);`
socket.onopen =` `function` `() {`
console.log(``'WebSocket open'``);``//成功连接上Websocket
};`
socket.onmessage =` `function` `(e) {
console.log(``'message: '` `+ e.data);``//打印出服务端返回过来的数据`
$(``'#messagecontainer'``).prepend(``'<p>'` `+ e.data +` `''``);`
};`
// Call onopen directly if socket is already open`
if` `(socket.readyState == WebSocket.OPEN) socket.onopen();`
window.s = socket;`
});`
$(``'#send_message'``).click(``function` `() {`
//如果未连接到websocket`
if` `(!window.s) {`
alert(``"websocket未连接."``);`
}` `else` `{`
window.s.send($(``'#message'``).val());``//通过websocket发送数据`
}`
});`
$(``'#close_websocket'``).click(``function` `() {`
if` `(window.s) {`
window.s.close();``//关闭websocket`
console.log(``'websocket已关闭'``);`
}`
});`
});`
//]]></script>`
`
`
<br>`
&lt;input type=&apos;``&quot;text&quot;`&apos;&gt;`
<button type='``"button"`'>连接 websocket</button>`
<button type='``"button"`'>发送 message</button>`
<button type='``"button"`'>关闭 websocket</button>`
<h1>Received Messages</h1>`
<div id='``"messagecontainer"``'>`
</div>`
`
`

到这里,我们也就讲完了《nodejs 使用nodejs-websocket模块实现点对点实时通讯》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于mysql的知识点!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>