SeeK.CS 创作自己的作品

思绪来去匆匆,偶尔在这停留。
随笔 - 10, 文章 - 0, 评论 - 53, 引用 - 0
数据加载中……

[开源]MiniChat Beta 1.0——局(广)域网多人聊天程序,支持文件传输

 

一、作品简介:

MiniChat是本人编写的一款多人聊天程序,主要用于局域网或广域网内用户间的实时通讯。用户界面美观友好,支持公共聊天、私人聊天、聊天记录、文件传输、任务栏实时通知等功能。该程序采用C/S三层架构,多线程Socket通信方式。Cient端采用TcpClient类连接服务器,使用NetworkStream传送数据。Server端采用TcpListener监听本地端口,并使用多线程为每个用户建立独立Socket连接并与client通信。

二、主要功能:

1、 公共聊天。用户的聊天内容可被聊天室内所有用户看见。

2、 私人聊天。用户的聊天内容只对聊天双方可见。

3、 聊天记录。服务器端采用SQL Server2005保留所有用户的聊天记录。客户端采用access保存用户本人的公共、私人聊天记录。

4、 任务栏实时通知。服务器端采用最小化到系统托盘等技术,在有用户上下线,用户收发信息时均有类似于MSN的消息提示。客户端最小化时有相关信息时也有类似于MSN的消息提示。

5、 其他辅助功能例如字体颜色等。

6、 文件传输。用户可以采用P2P模式进行文件传输。

三、主要流程图:

四、其他说明:

该程序采用VS2005编写。运行时需要.netFramework2.0支持。其中服务端数据库采用SQL server2005,客户端使用Access。日志文件记录在程序启动位置的LOG文件夹下。主要地方代码中已经详细注释。
/Files/seek/MiniChatBeta1.0.rar

SIGNATRUE-----------------------------------
龟看上去很慢很慢,而且还有些憨,虽然没有兔子跑的快,但是只要有坚持不懈的毅力,就一定会到达成功的比彼岸.如果自己是龟,就不要试图把自己变成兔子,我就是那只憨龟。

posted on 2008-05-15 20:05 seek 阅读(865) 评论(9)  编辑 收藏 所属分类: 原创作品

评论

#1楼    回复  引用    

可以支持互联网吗?
我可以提供测试平台

联系Q 7043502
2008-05-15 23:55 | 小南疯子 [未注册用户]

#2楼 [楼主]   回复  引用  查看    

@小南疯子
可以的。但是穿透防火墙的能力不行。
2008-05-16 16:33 | seek      

#3楼    回复  引用    

提供源代码托管空间:http://www.svnhost.cn
2008-05-17 08:59 | 小灰 [未注册用户]

#4楼    回复  引用    

不错,支持,继续努力
2008-05-17 13:44 | gyf19 [未注册用户]

#5楼    回复  引用  查看    

不错,学习
2008-05-17 14:26 | 老蒋      

#6楼    回复  引用  查看    

改用UDP 方式连接,

通过“打洞”方式,

以解决广域网 穿越 防火墙 问题
2008-05-19 09:19 | 口丁      

#7楼    回复  引用  查看    

刚看了你的代码,发现线程的使用好像有点过度,如果用异步处理或者线程池处理可能好点.
2008-05-24 23:20 | Kingthy      

#8楼 [楼主]   回复  引用  查看    

@Kingthy
是线程使用的很多。本人对多线程掌握的也属于初级阶段。开发这个聊天程序的时候没考虑那么多。因此在后期出现了很多问题。
2008-05-25 21:22 | seek      

#9楼    回复  引用    

非常感谢!我最近正在使用vs2005做一个仿QQ聊天室的软件,但是三层架构做得不对,正好楼主有这么一个范例。通信部分我也采用的是Socket异步套字连接。请问楼主,数据库部分如果我想预先存储几个用户和他们的聊天内容,在测试时载入数据然后就可以看见这几个用户在自动的互相发送信息,应该怎么做呢?
2008-06-17 11:47 | Zephyr321 [未注册用户]

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
博客园首页

新闻频道

社区

小组

博问

网摘

闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
成果网帮您增加网站收入


相关链接: