就是能实现给某一注册用户发送消息,如果对方在线,立刻就能收到。如果对方不在线,只要登录成功后也立刻能收到发给自己的信息。希望大家能提供点思路及方法。谢谢!
解决方案 »
- 简单的问题 麻烦帮忙看下`~!谢谢啦
- 带HTML文章摘要的截取
- 例如“ture||false”这样的字符串如何转成bool型
- ...............................处理DataTable的一个问题.........................................
- 棘手的问题 请高手指教
- ManagementException访问遭到拒绝问题,请教!!!
- 怎么在一个WEB应用程序页里把两个控件绑定
- 如果时间字段为空,怎么样获取时间字段的内容?在线等!!急!!
- 如何在1.aspx.cs中获取2.ascx.cs中的<asp:TextBox id="txtbx1" runat=server>的txtbx1.text值?
- 请教一个ListBox的问题,在线给分!!
- 问一个超级简单问题,马上给分!!!
- session的传值问题
你可以为每个用户建立一个SESSION("userNo"),在数据库的用户表中,也有相应的userNo字段,同时表中为每个用户也建立两个字段,一是newmessage,oldmessage,用int字段,来记录有几条新、旧短信。
当有用户发送短信给该用户时,首先是看session("UserNo")是否存在,如果存在就提示接收,如果不存在就先存起来,但这两种操作都要实现在newmessage中+1的操作,当用户看过以后就实现newmessage-1且oldmessage+1的操作。至于如何通知用户是否有短信可以在点击发出短信后,立即查询对被发出对象的newmessage是否为0的查证,如果不为零,则提示用户接收,这可能需要使用定时刷新方法,比较1分钟或2分钟刷新一次页面。这个我也不是很明白,期待高手解答
用一个表Message来维护,
ID int 4 0
UserID int 4 1
Title nvarchar 20 1
Content ntext 16 1
Sender int 4 1
ISRead bit 1 1
SendTime datetime 8 1
发件人
收件人
短信标题
短信内容
发送时间
这就可以了,,,然后有人发短信的时候,,直接insert一条记录就可以了
用户表:
ID int(4)
USERCODE varchar(20) 用户编码
USERNAME varchar(20) 用户名称
发送内容表:
ID int(4)
tdate smalldate(4) 时间
context varchar(200)内容
filecontext image(16) 附件
filename varchar(100) 附件名称
usercode varchar(20) 发送人
接收人表:
ID int(4)
tid int(4) 发送内容表id
usercode varchar(20) 接收人编码
new bit(1) 是否新消息 发送用户发送内容后,将信息分别写入到“接收人表”,“发送内容表”,这样在线用户定时刷新,查询接收人列表,如果有新消息则提示,非在线用户一登录则会检查是否有新消息,有则提示,当用户打开消息列表时,视为已查看,写“接收人表”当前用户的new字段。
只是添加senderId ,userId就行拉,其他和上面的查不多.