日期:2014-05-17 浏览次数:20427 次
bool flag = true;
//服务器阻塞.直到有消息返回
while (flag)
{
...
//信息已接收,返回应答
HttpContext.Current.Response.Write("state.savesuccess");
flag = false;
}
function ConnectHandler() {
...
var result = data;
if (result != "") {
//当收到服务器信息后再次发起连接
ConnectHandler();
}
}
//如果有给对方的消息则推送.然后标记已读
StringBuilder builderMsg = new StringBuilder();
StringBuilder builderIds = new StringBuilder();
if (listMsg != null && listMsg.Count > 0)
{
...
你的姓名: <asp:TextBox ID="txtSenderName" runat="server"></asp:TextBox> <br />
接收方姓名:<asp:TextBox ID="txtReciverName" runat="server"></asp:TextBox> <br />
<input type="button" value="登录" />
<script type="text/javascript">
$("input[value='登录']").click(function() {
location = "IM.aspx?Sender=" +encodeURI( $('#<%=txtSenderName.ClientID %>').val() ) + "&Reciver=" +encodeURI( $('#<%=txtReciverName.ClientID %>').val() );
});
</script>
2.新建立一个聊天界面IM.aspx
这里主要左边是一个在线会员列表,右边是聊天区
当登录页面后,系统马上会连接到处理页,看看是否有用户的消息.如果有则显示出来
[code=JScript]
//登录即请求
$(function() {
ConnectHandler();
});
else
{
//获取所有当前请求者的消息并返回
IList<IMMessage> listMsg = IMMessage.GetMessageListBySender(msg.Sender);
string strMsg = string.Empty;
//如