如何在CS程序中加个公共聊天室?
我用的是SQL2000数据库,请讲一下你们的方案,谢谢。
我想到的只能是不停地刷新一个表到一个超文本编辑框中来显示。
[解决办法]
可采用socket发消息的模式。然后再记录到数据库,这样就不需要timer来刷新表.
[解决办法]
。。楼主,照你这么设计,腾讯的服务器的数据库那得多强啊。
很明显这种C/S架构的程序是尽量不要在服务器上有过多操作。
用socket通信,用户的聊天记录都可以记在XML或test文件里。如果你要有留言功能,可能要在服务器上加上一个数据库,用来记录这些留言。
这种软件设计起来相当麻烦,要考虑很多细节,我们花了4-5个月才做出一个稍微拿得出手的一个通讯工具。
[解决办法]
如果是lan,直接用udp广播
如果不是,不管你用的是什么协议,都可以自己写一个名义上的广播发送给所有人啊
[解决办法]
最近正在学习通信编程,帮顶.
[解决办法]
同意lurel(城市陌生人)
[解决办法]
你可以作一个server 再作一个client ,然后由client提交,server 负责分发消息。然后由server 来记录聊天记录就可以了。其实不是很难,你可以在你点对点的基础上进行扩充就可以了。不要以来数据库,数据库只是用来存储数据的,如果和web一样刷新数据库,你的timer的时间间隔要设很大,而不能做到及时通信。
[解决办法]
clietn运行后, 主动连接到服务器. 服务器缓存client的IP.
client向服务器发聊天消息, 服务器为每个缓存的 client IP 发送消息.
[解决办法]
公共聊天室不需要数据库的
你的server只做转发给client的任务,最多用点空间存几条信息就够了
所以不用考虑三层,2层的问题