- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
郑州轻工业学院
实 训 报告
实训名称: 即时聊天系统
姓
名:
王路超
院
(系):
软件学院
专业班级: java01
学 号: 3
指导教师: 刘育熙 胡春辉
成 绩:
时间:2014 年 06 月3 日至2014 年 06 月 20 日
一、学生信息
专业 软件技术 学号 3 姓名 王路超 二、用户需求及约束条件
完成一个即时聊天程序,使用服务器、客户端(C/S)架构,实现多人之间和个体对个体的聊天。服务器端使用线程非阻塞方式。使用数据库保存用户信息,允许其注册修改。当用户不在线时,支持信息留言
三、实训目的:
1、理解C/S模式的软件系统结构,掌握网络编程的基本概念;
2、了解Java的多线程机制,掌握Java多线程技术的应用;
3、熟练掌握基于TCP协议的Socket编程;
4、熟练掌握基于UDP协议的Socket编程;
5、了解Socket编程的协议约定以及信息交互方法;
四、实训要求:
使用JBuilder提供的组件及网络包,开发一个实用的C/S模式聊天室系统。
功能要求
要求该系统由客户端及服务器端两部分组成。
系统界面要求:
要求系统具有友好的用户界面,界面简洁、操作方便;
本程序客户端主要完成了:
客户端发送信息可以广播客户。
广播客户,则将信息转发到所有客户端。服务器主要完成了:
客户-服务器之间信息的交互。例如hello发送信息到服务器,服务器将信息转发到所有与之连接的客户(hello、boy),通过这种形式,就可以实现客户之间的信息广播。
本程序可以实现发送信息广播,只要进入客户端都可以看到消息,本程序采用了流的概念,
java多线程,Socket应用程序中用到的代码如下启动端口如下:
package聊天系统;
importjava.awt.BorderLayout;importjava.awt.Color;
importjava.awt.Font;importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.DataInputStream;importjava.io.DataOutputStream;
importjava.io.IOException;importjava.net.Socket;
importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;importjavax.swing.JTextField;
publicclass聊天系统extendsJFrameimplementsActionListener,Runnable
{
privateJFrameapp;
privateJPanela1,a2,a3,a4,a5;privateJLabel输入昵称;privateJTextField l1,l2;privateJTextAreatextArea;privateJButtonb1,b2,b3;
protectedSocketsocket;protectedThreadthread;protectedDataInputStreamin;protectedDataOutputStreamout;protectedStringnickname;
public聊天系统()
{
app=newJFrame();app.setSize(400,300);app.setLocation(500,500);app.setLayout(newBorderLayout());
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a1=newJPanel();a1.setBackground(Color.yellow);a2=newJPanel();
a2=newJPanel();a4=newJPanel();
a4.setBackground(Color.red);a
您可能关注的文档
- wincc访问Acess数据库分析和总结.docx
- wincc归档变量的数据放在哪里的.docx
- WINCC建立不了项目出现“未指定的错误”.docx
- wincc客户机不能连接服务器.docx
- java基础测试题含答案.docx
- Java基础练习及代码.docx
- java几种常用设计模式简单示例 =.docx
- JAVA计算器课程设计.docx
- JAVA记事本课程设计报告.docx
- JAVA课程设计报告.docx
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)