Node.js+Socket.io訊息中心實施之七 訊息中心的實現(5)
1. index.js 啟動類
var server = require("./server");
var router = require("./router");
var requestHandlers = require("./requestHandlers");
var handle = {};
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
handle["/show"] = requestHandlers.show;
handle["/index.html"] = requestHandlers.index;
server.start(router.route,handle);
2.index.html 測試頁面
#messages { padding: 0px; list-style-type: none;}
#messages li { padding: 2px 0px; border-bottom: 1px solid #ccc; }
var socket;
$(function() {
socket = io.connect();
socket.on('connect', function() {
var userInfo='{"userId":"gengchong"}';
socket.emit('bind',userInfo);
$('#messages').append('
});
socket.on('disconnect', function() {
$('#messages').append('
});
socket.on('message', function(data,fn) {
var msg=JSON.parse(data);
var uuIds=[];
var userId="gengchong";
for(var i=0;i
{
uuIds[i]=msg[i].uuId;
$('#messages').append('
}
var result = {userId:userId,uuIds:uuIds};
socket.emit('clear',JSON.stringify(result));
fn(uuIds);
});
});
function sendMsgToUser()
{
var message='{"userId":"'+$('#userId').val()+'","msgType":"ORDER","msgContent":"'+$('#chatmsg').val()+'","msgTitle":"'+$('#chatmsg').val()+'","objectId":null,"property":"2","uuId":"ed0c3481-ca7b-42b3-9a25-656835a1a8ba'+$('#userId').val()+'"}';
socket.emit('sendMsgToUser',message,function(result)
{
if(result)
{
$('#messages').append('
}
}
);
}
function sendTagMessage()
{
var message='{"userId":"'+$('#tag').val()+'","msgType":"ORDER","msgContent":"'+$('#tagmsg').val()+'","msgTitle":"'+$('#tagmsg').val()+'","objectId":null,"property":null,"uuId":"ed0c3481-ca7b-42b3-9a25-656835a1a8ba"}';
socket.emit('sendMsgToRoomP2P',message,function(result)
{
if(result)
{
$('#messages').append('
}
}
);
}
function sendMsgToAll()
{
var message='{"userId":"ALL","msgType":"ORDER","msgContent":"'+$('#allmsg').val()+'","msgTitle":"'+$('#allmsg').val()+'","objectId":null,"property":null,"uuId":"ed0c3481-ca7b-42b3-9a25-656835a1a8ba"}';
socket.emit('sendMsgToAll',message,function(result)
{
if(result)
{
$('#messages').append('
}
}
);
}
function sub()
{
var tags=[];
tags[0]=$('#tag3').val();
var userId=$('#userId2').val();
var msg = {userId:userId,tags:tags};
socket.emit('sub',JSON.stringify(msg),function(result)
{
if(result)
{
$('#messages').append('
}
}
);
}
function unsub()
{
var tags=[];
tags[0]=$('#tag2').val();
var userId=$('#userId3').val();
var msg = {userId:userId,tags:tags};
socket.emit('unsub',JSON.stringify(msg),function(result)
{
if(result)
{
$('#messages').append('
}
}
);
}
訊息內容: 接收人UserId:
訊息內容: 標籤:
訊息內容:
訂閱話題:
使用者UserId:
解除訂閱:
使用者UserId:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-1218489/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Node.js+Socket.io訊息中心實施之六 訊息中心的實現(4)Node.js
- Node.js+Socket.io訊息中心實施之四 訊息中心的實現(2)Node.js
- Node.js+Socket.io訊息中心實施之三 訊息中心的實現(1)Node.js
- Node.js+Socket.io訊息中心實施之一 背景Node.js
- Node.js+Socket.io訊息中心實施之十 nginx負載均衡部署Node.jsNginx負載
- Node.js+Socket.io訊息中心實施之二 架構與主要功能Node.js架構
- DDD實戰分享-訊息中心
- 聊聊訊息中心的設計與實現邏輯
- 仿微博訊息中心的系統設計與實現
- 自定義NSNotification訊息中心
- workerman 實現訊息推送
- 如何優雅的實現訊息通訊?
- 在如何實現兩個JBoss之間的訊息通訊?
- PHP基於Redis訊息佇列實現的訊息推送的方法PHPRedis佇列
- Redis實現訊息佇列Redis佇列
- Flutter websocket 實現訊息推送FlutterWeb
- ActiveMQ + Camel 實現訊息路由MQ路由
- WIN10如何設定通知中心不顯示訊息 WIN10通知中心不顯示訊息設定方法Win10
- 億級訊息中心架構方案概述【原創】架構
- paho實現MQTTClient釋出訊息MQQTclient
- 使用 NSProxy 實現訊息轉發
- 使用SignalR實現訊息提醒SignalR
- PyQt5 之訊息盒子QT
- Redis 使用 List 實現訊息佇列能保證訊息可靠麼?Redis佇列
- springcloud(九):配置中心和訊息匯流排(配置中心終結版)SpringGCCloud
- SpringCloud 2020.0.4 系列之 Stream 訊息廣播 與 訊息分組 的實現SpringGCCloud
- js訊息訂閱和釋出實現元件之間通訊JS元件
- RabbitMQ實戰:理解訊息通訊MQ
- Fluter訊息機制之微任務實現原理
- 延遲訊息的五種實現方案
- Spring+Websocket實現訊息的推送SpringWeb
- 利用localstorage實現本地訊息快取快取
- 延時訊息常見實現方案
- Jquery實現自定義訊息彈窗jQuery
- Redis實現簡單訊息佇列Redis佇列
- iOS 訊息推送原理及實現DemoiOS
- 實現rabbitmq訊息重新投遞方案MQ
- Redis實現訊息釋出訂閱Redis