使用SignalR建一个简单的web聊天Demos
来源:互联网 发布:win10获取权限软件 编辑:程序博客网 时间:2024/05/23 17:44
1.说明:
开发环境:Microsoft Visual Studio 2010
2.添加SignalR所需要的类库:
3.首先新建一个Hub类,内有一个方法能够被脚本调用到:
4.注册Hub脚本缓存路径,在全局应用程序里面
5.前台页面实现逻辑
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Css/common.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/Css/index.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/JavaScript/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/JavaScript/SignalR/jquery.signalR-1.1.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
//设置高度
var msgListH = window.innerHeight - 150;
$(".messageList").height(msgListH);
$('#messageBox').keypress(function (e) {
var key = e.keyCode;
if (key == 13) {
sendMsg();
}
});
});
var chat = $.connection.chatHub;
chat.client.SentMsgToPages = function (name, message) {
// Add the message to the page.
$('#msgUl').append('<li><strong>' + name
+ '</strong>: ' + message + '</li>');
};
function sendMsg() {
var userName = $("#userName").val();
if (!userName) {
$(".alert").show();
return;
}
var msg = $('#messageBox').val();
if (msg) {
chat.server.send(userName, msg);
$('#messageBox').val('').focus();
}
};
$.connection.hub.start().done(function () {
//设置按钮事件
$("#btnSent").click(
sendMsg
);
$("#userName").focus(
function () {
$(".alert").hide();
});
});
</script>
</head>
<body>
<h2>SignalR Chat Room</h2>
<div style="width: 99%;margin: 4px" id="outBoard" >
<div class="messageList" >
<ul id="msgUl" class="unstyled">
</ul>
</div>
<div class="form-inline">
<input type="text" id="userName" placeholder="昵称" class="input-mini" />
<input type="text" id="messageBox" class="input-xxlarge"/>
<input type="submit" value="发送" class="btn btn-info" id="btnSent" />
</div>
<div class="alert" style="display: none; width: 100px">
必须输入昵称!
</div>
</div>
</body>
</html>
var chat = $.connection.chatHub;
客户端跟服务端建立连接。
chat.client.SentMsgToPages = function (name, message) { };
这就是服务端回调客户端的方法,给SentMsgToPages实现一个function表示如何处理返回值,这里当然是把message添加到聊天记录列表里。
chat.server.send(userName, msg);
客户端通过chat对象调用服务端的send方法,把数据传回到服务器。
- 使用SignalR建一个简单的web聊天Demos
- signalR 实现简单聊天
- 使用SignalR构建一个最基本的web聊天室
- ajax初步,一个简单的demos
- DWR反向Ajax的一个简单Web聊天
- DWR反向Ajax的一个简单Web聊天
- DWR反向Ajax的一个简单Web聊天
- mvc中signalr实现一对一的聊天
- 一个简单的聊天代码
- 一个简单的聊天程序
- 使用UDP实现一个简单的聊天程序。
- 使用ServerSocket、Socket创建一个简单的服务聊天程序
- 使用最新Netty实现一个简单的聊天程序
- 使用最新Netty实现一个简单的聊天程序
- 使用RethinkDB与SpringBoot 搭建一个简单的聊天
- signalr中Group 分组群发消息的简单使用
- 使用SignalR开发一个数据广播的应用程序
- SignalR实现web在线即时聊天(C#)
- python time模块详解
- 【转】用socket实现聊天室功能
- vsftp设置不同用户登录ftp的根目录不同
- NYOJ-p次方求和
- 入门训练 Fibonacci数列
- 使用SignalR建一个简单的web聊天Demos
- HDOJ 1879 继续畅通工程
- hibernate session的delete
- 数据库事务的隔离级别
- GPT分区基础知识及如何在GPT分区上安装WIN7
- asp.net单元测试--配置文件自动复制到VS的测试项目的方法
- 2015网易校园招聘算法题留存
- 工作周记
- Builder模式(创建者模式)