一个聊天室(asp.net MSSQL )的困难

「已注销」 2011-01-02 06:43:54
想做一个简单的聊天室
注册、登陆、都做好了。
就是我不能实现在线通信(A发给B消息,B实时收到)
请问有什么方法可以实现
聊天内容打算用一个textBox
...全文
49 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-01-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
http://topic.csdn.net/u/20090907/11/0932981b-dcb6-4425-bcbe-64186f0b6354.html?41759
[/Quote]


我的问题能能解决的话,马上结贴。。。。
1、数据库安装
(1)将实例目录“DataBase”文件夹下扩展名为“.MDF”和“.LDF”的两个文件拷贝到SQL Server 2000安装路径下的“MSSQL”/“Data”目录下。
(2)打开SQL Server 2000中的“企业管理器”,展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。
(3)在弹出的“附加数据库”对话框中选择刚拷贝过去的数据库文件(.MDF文件),单击【确定】按钮,即可完成数库的附加操作。

2、配置IIS
(1)打开“开始”→“控制面板”命令,打开“控制面板”窗口,在该窗口中双击“管理工具”图标,进入到“管理工具”窗口,在该窗口中双击“Internet 信息服务”图标,运行“Internet 信息服务”。
(2)选中“默认网站”节点,单击右键,选择“新建”/“虚拟目录”。
(3)弹出“虚拟目录创建向导”对话框,单击“下一步”按钮,弹出虚拟目录别名对话框,在其中输入网站别名(可任输入字符)。
(4)单击“下一步”按钮,弹出“选择目录路径”对话框。
(5)单击“浏览”按钮,弹出“浏览文件夹”对话框,选择您的网站路径。
(6)单击“确定”按钮,再单击“下一步”按钮,勾选“运行脚本”复选框,然后单击“下一步”按钮,单击“完成”按钮,完成IIS配置操作。
(7)选中首页文件“Login.aspx”,单击鼠标右键,在弹出的菜单中选择“浏览”菜单项。
最近利用闲暇时间,作了个简单的聊天室,该聊天室使用 prototype.js (v1.4) 类库,主要应用Ajax技术、Application变量,做到小型架构,页面无刷新,[b]无数据库[/b],能查看在线用户等特点。

刚开始打算用access小型数据库,但考虑到多人在线时,这种轻量级的数据库承受能力将不能胜任存储任务,MSsql又不熟悉,我的空间也不支持,所以只往小型方向开发。所有聊天数据都存入服务器变量中,客户端与服务器的交互采用json的数据结构,效率还是相当高的。

写js也有一段时间了,发现再用vbscript写asp,有点不适应vb的语法,因此服务端application的全部使用Jscript操作。(js真tmd的自由!自由到连个像样子的IDE都没有-_-)。

当前已知的bug:
如果用户在任务管理器里终止ie进程,那么在线用户列表里将不能删除该用户名。(因为body元素的onunload没法运行-_-)

可以改进的地方:
1、客户端每隔n毫秒取一次数据,但当前返回的数据是整个application变量,比较长,可以只取最新的消息。这样可以改进数据交换的效率。
2、因为application不能太大,否则服务器必定挂掉,所以只好设置长度限制,超过n条记录后自动删除之前的消息,自动维护application的长度,听起来似乎是个好消息,但客户端也只能保存n条记录-_-,完全可以把所有记录在客户端缓存嘛。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧