JAVA 的聊天室程序

终于完成了这个实验了,写了报告以及 email 给老师了。
一直很懒,不过这个程序写得还挺顺利的,用 JAVA 进行网络编程和多线程编程很方便,只是界面编程比较麻烦点,不过为了省事我的界面做得挺简洁的。
不过代码写得还是挺难看嘀,太紧凑了,个人还是比较喜欢自己编的 C++ 程序的代码结构。
这个大概就是这个学期我唯一一件认真做的和课程相关密切的事情了。

工程文件和程序已上传,但是还在审阅中。。稍后可在http://download.csdn.net/user/Rappy/下载。

报告如下:
多线程多人聊天程序

实验目的

编写一个多人聊天的客户/服务器多线程聊天室程序。

理解TCP协议和多线程编程.

了解聊天软件的基本原理。

 

实验内容

聊天室程序功能简述:

聊天室程序分为服务器端,和客户端。

服务器程序作为一个中转站。所有客户端都只与服务器进行通信。

客户端程序以用户名登录。

服务器和客户端都显示在线的用户列表。

用户可以向所有用户发表消息。

 

实验过程

1)采用 Eclipse 作为开发工具,JAVA 为开发语言。

2)使用 JAVA Socket ServerSocket 这两个类可以在网络连接时不必关心底层操作,而使用DataInputStream DataOutputStream 这两个类可以像本地输入输出那么方便。

扩展 JAVA Tread 类,可以在进行多线程编程时不必关心阻塞等操作,只需要重载其运行方法 void run ();

3)消息的格式是由格式前缀以及内容构成:

客户端消息:

”L user” 表示以 user 为用户名来登录(log in)服务端;

“M XXX” 表示向服务端发送内容为 “XXX” 的聊天消息;

“Q” 表示退出登录(quit)。

服务端消息:

“A user1 user 2 ” 表示接受(accept)用户的登录请求并向其发送在线用户的名单;

“R” 表示拒绝(refuse)用户的登录请求,假如用户名已被占用。

“M XXX” 表示服务端向在线用户广播内容为

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值