文件结构

node.js代码

// 需要HTTP 模块来启动服务器和Socket.IO
var http= require('http');
var fs = require('fs');
// 在8080端口启动服务器
var server= http.createServer(function(req, res){
// 发送HTML的headers和message fs.readFile('../index.html',function(error,data){
res.writeHead(200,{'Content-Type':'text/html'});
res.end(data,'utf-8');
});
});
server.listen(8080,function () {
console.log('监听端口是 8080 ,服务已启动');
});
// 创建一个Socket.IO实例,把它传递给服务器
var socket = require('socket.io').listen(server); // 添加一个连接监听器
socket.on('connection', function(client){
// 成功!现在开始监听接收到的消息
console.log("connected");
client.on('message',function(data){
console.log('Received message from client!',data);
client.broadcast.emit('server message',{text:data.text});
}); client.on('disconnect',function(){
//clearInterval(interval);
console.log('Server has disconnected');
});
//模拟触发数据
// var interval= setInterval(function() {
// //client.send('This is a message from the server! ' + new Date().getTime());
// //发送给单个用户
// //client.emit('message',{text:'你上线了'});
// //发送给所有用户
// client.broadcast.emit('message',{text:'你的好某XXX上线了'});
// },5000);
}); index.html页面代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Socket.IO Example</title>
</head>
<body>
<textarea id="msgbox"></textarea>
<input type="button" value="send" id="sendBtn">
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('ws://localhost:8080');
//前端监听信息
socket.on('server message',function(data){
console.log(data.text);
})
//前端发送信息
document.getElementById("sendBtn").onclick = function () {
var info = document.getElementById("msgbox").value;
//console.log(info);
socket.emit("message",{text:info});
}
</script> </body>
</html>

最新文章

  1. JavaScript-取消事件-e.preventDefault();
  2. 文本框如果不输入任何内容提交过后是一个空字符串还是null
  3. 第八章xml学习
  4. [原]在Fedora中编译Libevent测试实例
  5. XCode7,打包上传的一些警告,及参考处理方法
  6. C语言中short的意思
  7. Linux_install mod_ssl openssl apache
  8. Idea安装GO语言插件
  9. linux 发送带附件的邮件
  10. 过程 : 概念 : 结构 jobbox jobPost
  11. 从零使用Python测试。Testing Using Python.
  12. ActiveMQ的消息持久化机制
  13. dubbo框架提供Main方法运行容器的几种方式(转)
  14. vue进阶--外卖商家页
  15. 给COCO数据集的json标签换行
  16. SqlServer查询表名的备注(查询表名描述 MS_Description)
  17. .NET 11 个 Visual Studio 代码性能分析工具
  18. awk——getline
  19. python 通过 pymysql模块 操作 mysql 数据库
  20. bzoj 4780: [Usaco2017 Open]Modern Art 2

热门文章

  1. Spring Boot与Spring Session集成
  2. git stash和git stash pop(转载)
  3. SCUT - 249 - A piece of Cake - 组合数学
  4. 函数和代码复用 --Python
  5. nginx部署h5项目
  6. PJzhang:贷款逾期与失信被执行人
  7. JQuery动态添加表格,然后动态删除不成功问题
  8. BFS Codeforces Round #297 (Div. 2) D. Arthur and Walls
  9. zabbix 安装小结
  10. No space left on device