网上很多的websocket我都看不懂,看了个视频才慢慢懂了点

视频链接:https://www.imooc.com/learn/861

以下都是根据老师的步伐走的

先打开cmd 或者 powershell 键入 cd 进入服务端的地址,再键入 npm install nodejs-websocket

还有nodejs也要安装 地址:https://nodejs.org/en/

安装成功后,在nodejs-websocket下新建js

js 服务端大致代码:

var ws = require('nodejs-websocket');
var port=3000
var server = ws.createServer(function(conn){
//受到连接触发//
//在服务端cmd安装npm install nodejs-websocket//
console.log('new connection');
conn.on("text",function(str){
// 收到信息触发 接收 //
console.log("received"+str)
boardcast(str) // 广播消息 //
conn.sendText(str) // 发送 数据 //
})
conn.on("close",function(code,reason){
// 断开连接触发 //
console.log("connection closed")
})
conn.on("error",function(err){
// 出错触发 //
console.log("header err")
console.log(err)
})
function boardcast(str){ // 广播 //
// server.connections 保存每个连接进来的用户 //
server.connections.forEach(function(conn){ // .forEach 是调用数组里每个元素 //
conn.sendText(str)
})
}
}).listen(port)
console.log("websocket server listen port is" + port)

接下来看看客户端的大致代码:

<html>
<head>
<title>first socket</title>
</head>
<body>
<h1>myfitst room</h1>
<input type="text" id="snedTxt" />
<button id="sendb">发送</button>
<div id="recv"></div>
<script type="text/javascript">
var ws = new WebSocket("ws://localhost:3000/");// 设置服务器地址 //
ws.onopen=function(){ // onopen 连接触发 //
console.log("websocket open");
document.getElementById("recv").innerHTML="Connected";
// innerHTML 可以 获取 也可以 插入 // }
ws.onclose=function(){ // onclose 断开触发 //
console.log("websocket close");
}
ws.onmessage =function(e){ // onmessage 接收到信息触发 //
console.log(e.data);
document.getElementById("recv").innerHTML = e.data; }
document.getElementById("sendb").onclick=function(){ // 监测 id=“sendb”的 按钮 触发 onclick 就会发送数据 send //
var txt = document.getElementById("snedTxt").value;
ws.send(txt);
}
</script>
</body>
</html>

html 直接运行

js 则要cmd cd到根目录 键入 node 文件名.js

这样就算成功了

nodejs-websocket 的简单用法和安装的更多相关文章

  1. nodejs与websocket模拟简单的聊天室

    nodejs与websocket模拟简单的聊天室 server.js const http = require('http') const fs = require('fs') var userip ...

  2. 用nodejs搭建一个简单的服务器

    使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...

  3. 拿nodejs快速搭建简单Oauth认证和restful API server攻略

    拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...

  4. openstack(liberty):部署实验平台(二,简单版本软件安装 part2)

    继续前面的part1,将后续的compute以及network部分的安装过程记录完毕! 首先说说compute部分nova的安装. n1.准备工作.创建数据库,配置权限!(密码依旧是openstack ...

  5. openstack(liberty):部署实验平台(二,简单版本软件安装 part1)

    软件安装过程中,考虑到现在是一个实验环境,且也考虑到规模不大,还有,网络压力不会大,出于简单考虑,将各个节点的拓扑结构改了一下,主要体现在网络节点和控制节点并在了一起.在一个服务器上安装! 到目前位置 ...

  6. mysql安装简单教程(自动安装/配置安装)

    mysql安装简单教程(自动安装/配置安装) 1.1前言: 由于特殊原因,在最近2-3个月里mysql真是安装了无数遍,每次安装都要上网找教程,每个教程基本都不一样,因此还是自己写下来比较好,毕竟自己 ...

  7. nodejs实现最简单的爬虫

    本文将以抓取百度搜索结果中关键词的相关搜索为例子,教会大家以nodejs制作最简单的爬虫:  开始之前呢,先来个公众号求粉:      将使用的node模块及属性介绍:   request:     ...

  8. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  9. 用nodejs搭建一个简单的服务监听程序

    作为一个从业三年左右的,并且从事过半年左右PHP开发工作的前端,对于后台,尤其是对以js语言进行开发的nodejs,那是比较有兴趣的,虽然本身并没有接触过相关的工作,只是自己私下做的一下小实验,但是还 ...

随机推荐

  1. 软件151 王楚博 JavaEE的配置

    一.准备以下压缩包 1.JDK1.7 文件:jdk1.7.rar 2. eclipse-jee-mars-2 文件:32位系统准备eclipse-jee-mars-2-win32.zip,64位系统准 ...

  2. AnnotationTransactionAttributeSource is only available on Java 1.5 and higher

    前言: 在eclipse中用到spring2.0的web项目,启动elipse自带的tomcat7,tomcat7报错如下: AnnotationTransactionAttributeSource ...

  3. JVM CUP占用率过高排除方法,windows环境

    jdk自带的jvisualvm可以看到程序CPU使用率,但是无法确定具体的线程,想要确定到具体的线程需要借用到微软的Process Explorer 具体排除方法: 一:打开资源管理器,找到cup占用 ...

  4. ajax提交表单向后台发送数据

    Ajax提交表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. leetcode 415 两个字符串相加

    string addstring(string s1,string s2) { string ans=""; ; ,j=s2.length()-;i>=||j>=;i- ...

  6. 第九章:Servlet工作原理解析

    9.1 从Servlet容器说起 Servlet和Servlet容器的关系,就像枪和子弹的关系,彼此依存又互相独立发展,这一切都是为了适应工业化生产.从技术角度来说,是为了解耦,通过标准化接口来互相协 ...

  7. Shell 函数相关

    一.函数的两种定义方式 第一种:函数名(){ ...... } 第二种:function 函数名{ ...... } 调用时直接使用 函数名 调用,将函数当作一个“命令”即可.函数内部直接使用 $1. ...

  8. 集合和format

    昨天没来及整理博客,有点小累.休息了一下,今天的内容比较多 集合还是按照之前的方法,整理了一边所有的方法,其次在看了下format的方法 还有一些函数,暂时学了一点 还不知道怎么整理 s = {,,, ...

  9. 基于vue开发的element-ui树形控件报错问题解决

    对没错,这次又是ElementUI的问题,在使用ElementUI中的 tree 树形控件时需要动态添加DOM元素,但是在使用文档中给出的案例的时候会报错. 案例:ElementUI树形控件 - 自定 ...

  10. 2186 Popular Cows

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 41771   Accepted: 16955 De ...