论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

基于bs方式的即时通讯软件(论文+程序)

5 系统实现

5.1   发送消息功能实现

paper51.com

为了实现发送消息的功能,在服务器端代码中需要定义Ajax方法SendMessage,具体代码如下:

paper51.com

内容来自论文无忧网 www.paper51.com

 [AjaxMethod()] http://www.paper51.com

public void SendMessage(string strUsername, string strContent)

内容来自www.paper51.com

{ 内容来自www.paper51.com

// 数据连接 http://www.paper51.com

SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);

copyright paper51.com

// SQL命令 paper51.com

SqlCommand cmd = conn.CreateCommand();             

内容来自www.paper51.com

cmd.CommandText = string.Format("SendMessage '{0}','{1}', '{2}'",

内容来自www.paper51.com

User.Identity.Name, strUsername, strContent); copyright paper51.com

try

内容来自论文无忧网 www.paper51.com

{ http://www.paper51.com

// 打开数据连接

http://www.paper51.com

conn.Open();

http://www.paper51.com

// 执行SQL,发送消息 http://www.paper51.com

cmd.ExecuteNonQuery(); copyright paper51.com

}

copyright paper51.com

catch (SqlException)

内容来自论文无忧网 www.paper51.com

{

内容来自论文无忧网 www.paper51.com

}

内容来自www.paper51.com

finally 内容来自www.paper51.com

{ 内容来自www.paper51.com

// 关闭连接

copyright paper51.com

conn.Close();

内容来自论文无忧网 www.paper51.com

}

paper51.com

然后在客户端编写getMessage函数,调用服务器Ajax方法进行消息的发送。

内容来自论文无忧网 www.paper51.com

getMessage函数的代码如下:

paper51.com

5.2   接收消息功能实现 http://www.paper51.com

为了实现接收消息的功能,在服务器端代码中需要定义Ajax方法GetNewMessage,具体代码如下:

http://www.paper51.com

内容来自论文无忧网 www.paper51.com

[AjaxMethod()]

内容来自论文无忧网 www.paper51.com

public DataSet GetNewMessage()

内容来自论文无忧网 www.paper51.com

{

内容来自论文无忧网 www.paper51.com

// 返回的数据集

copyright paper51.com

     DataSet ds = new DataSet();

内容来自论文无忧网 www.paper51.com

// 数据连接 paper51.com

     SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);

内容来自www.paper51.com

// SQL命令 内容来自论文无忧网 www.paper51.com

     SqlCommand cmd = conn.CreateCommand();             内容来自www.paper51.com

// 数据适配器

内容来自论文无忧网 www.paper51.com

     SqlDataAdapter da = new SqlDataAdapter(cmd); copyright paper51.com

              try

内容来自www.paper51.com

              { 内容来自论文无忧网 www.paper51.com

                   // 向DataSet中填充消息数据

http://www.paper51.com

                   da.Fill(ds);

内容来自论文无忧网 www.paper51.com

然后在客户端编写getNewMessage函数,调用服务器Ajax方法进行消息的发送。getNewMessage函数的代码如下: 内容来自www.paper51.com

内容来自www.paper51.com

function getNewMessage()

内容来自论文无忧网 www.paper51.com

{

内容来自论文无忧网 www.paper51.com

     // 用户名 paper51.com

     var username = document.location.search.split('=')[1]; copyright paper51.com

// 消息显示区域 内容来自www.paper51.com

     var div_recentMsg = el("recentMsg");

http://www.paper51.com

// 获取最新消息的数据表 copyright paper51.com

     var dt = ch111.SendMsg.GetNewMessage().value.Tables[0];

copyright paper51.com

     for (var i = 0;i < dt.Rows.length;i++) paper51.com

     {

paper51.com

        // 一条消息对应与一个<span>对象

http://www.paper51.com

        var oneMsg = document.createElement("span");

paper51.com

// 消息发送者与发送对象 paper51.com

        var strLine1 = dt.Rows[i].sender + "说: (" + dt.Rows[i].sendtime + ")"; http://www.paper51.com

                       strLine1 = DealBrackets(strLine1);

paper51.com

// 消息内容 内容来自论文无忧网 www.paper51.com

        var strLine2 = dt.Rows[i].content; paper51.com

                       strLine2 = DealBrackets(strLine2); 内容来自www.paper51.com

// 显示样式 copyright paper51.com

oneMsg.innerHTML = "<pre>" + strLine1 + "<br>&nbsp;&nbsp;" http://www.paper51.com

+ strLine2 + "</pre>"; 内容来自www.paper51.com

                      

http://www.paper51.com

    

内容来自www.paper51.com

paper51.com

         oneMsg.style.padding = "2px 2px 2px 2px"; 内容来自www.paper51.com

         oneMsg.style.color = (dt.Rows[i].sender == username) ? "blue" : "red"; copyright paper51.com

         oneMsg.style.fontFamily = "'Courier New' , 宋体";

http://www.paper51.com

// 附加到DOM 内容来自论文无忧网 www.paper51.com

         div_recentMsg.appendChild(oneMsg); 内容来自www.paper51.com

         }

copyright paper51.com

        } http://www.paper51.com

              paper51.com

     // 主进程循环 内容来自www.paper51.com

     function mainLoop()

内容来自www.paper51.com

     {

copyright paper51.com

         // 获取新消息 copyright paper51.com

         getNewMessage(); paper51.com

// 每隔1秒检查一次

http://www.paper51.com

         setTimeout("mainLoop()", 1000);

paper51.com

     }

内容来自论文无忧网 www.paper51.com

             

http://www.paper51.com

     // 显示最近的消息 内容来自www.paper51.com

     getRecentMsg(); paper51.com

// 定时更新消息列表

内容来自www.paper51.com

     mainLoop();

paper51.com

------分隔线----------------------------
联系方式