版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北科技师范学院JAVA程序设计课程设计个人实习总结实习类型课程设计实习单位指导教师所在院(系)信息技术系班级姓名学号_
一、实习时间和地点时间:2015.3.17-2015.4.14地点:F310、F311二、实习的内容我所开发的系统是:局域网聊天系统。系统功能简要说明如下:该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。1、服务器:负责处理各个客户端的信息,并负责将信息进行转发。①服务器主要负责响应客户端的的各种信息,包括链接服务器,用户信息发送,各个客户端的信息相互转发。②服务器的实现有Server类,Server类主要是进行初始化的工作2、客户端:用户使用界面,负责接受信息以及与服务器进行通信。①客户端负责为用户提供聊天界面,将信息发送至服务器,接受服务器的反馈信息等一系列的工作。②客户端的实现有Client类,Client类负责与服务器,其它客户端进行通信。连接:点击“连接”按钮之后将信息发送到服务器端,服务器端创建相应的连接,并将更新后的用户列表发送给所有用户。2.发送:根据发送者、发送对象、发送的话创建一个字段发送到服务器端。3.清空:清空客户端接收信息聊天对话框。4.私聊TA:选择在线主机ip,根据ip地址发送一个私密聊天请求到服务器,服务器选择相应的地址进行信息发送。本程序可以有多个用户,只需在一台服务器上运行服务端程序,所有的用户连接上了之后就可以正常通信。人们日常生活中越来越多地使用聊天室这项应用来为自己的工作和学习服务。一个操作简单,界面友好、运行稳定的聊天室对于小型局域网的用户可以起到很好的交流作用。所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过聊天室将自己融入整个主流社会中。因此我们这个聊天室选择了简洁的界面搭建。因为之前学过JFrame类的使用,所以界面搭建部分代码如下:publicclassTCPClientextendsJFrame{ publicstaticStringolip; privatestaticfinallongserialVersionUID=1L; JTextAreajtaContent=newJTextArea(); JTextFieldjtaInstant=newJTextField(); JButtonjbSend=newJButton("发送"); JButtonjbConnect=newJButton("连接"); JButtonjbClear=newJButton("清空"); JLabeljlTip=newJLabel("在线主机"); JButtonjbPChat=newJButton("私聊TA"); JPaneljpBtns=newJPanel(); JPaneljpContact=newJPanel();publicvoidlaunchFrame(){ jtaContent.setEditable(false); jpBtns.setLayout(newGridLayout(1,3,5,5)); jpBtns.add(jbConnect); jpBtns.add(jbSend); jpBtns.add(jbClear); jpBtns.setBounds(0,375,350,30); JScrollPanejspText=newJScrollPane(jtaInstant); jspText.setBounds(0,310,350,65); JScrollPanejspContactOL=newJScrollPane(jcbContact); JScrollPanejspContent=newJScrollPane(jtaContent); jspContent.setBounds(0,0,350,300); jpContact.setLayout(newGridLayout(5,5,1,3)); jpContact.add(jlTip); jpContact.add(jspContactOL); jpContact.add(jbPChat); jpContact.setBounds(350,0,135,220); add(jpContact); add(jpBtns); add(jspText); add(jspContent); setLayout(null); setSize(500,450); setLocation(100,100); setTitle("ChatClient"); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);由于本人学习的java不是特别扎实,所以界面的设计代码经过参考反复实验才达到要求。界面完成后才发现真正的挑战刚刚开始。我们需要得到本机ip地址并传送至服务器,部分代码如下:InetAddressmyIP;myIP=InetAddress.getLocalHost();s=newSocket(myIP.getHostAddress(),9402);然后我们发送IP地址,其他客户端收到此地址时会判别,判别为IP地址,其它客户端会将这一IP地址规划为在线用户:InetAddressmyIP;myIP=InetAddress.getLocalHost();strIP=myIP.getHostAddress();dos.writeUTF("a"+strIP);我们还设计了一个私聊功能,所以就需要实现事件的监听:Timertm1=newTimer(1000,newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){tm3.stop();jbPChat.setText("通知");tm2.start();}});Timertm2=newTimer(1000,newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){tm1.stop();jbPChat.setText("有私聊消息");tm3.start();}});Timertm3=newTimer(1000,newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){tm2.stop();jbPChat.setText("请查收");tm1.start();}});这样,当有私聊信息请求传送过来时通过这些提醒就可以实现私聊功能。起初我们有这些功能的想法,觉得通过网络书籍能够很方便的查找到。可是实际操作实验中遇到了不少困难。比如这个私聊功能的实现。刚开始连接成功后选择私聊对象,我们决定以IP地址为依据。加入选择IP地址功能后点击私聊,发现客户端可以收到私聊提示,可是却收不到具体的文字信息。为此我们查找了大量信息,终于成功的实现了私聊功能。后来我想,能不能让服务器端连接数据库。在客户端设置一个注册界面,让用户更具体化,这样识别身份时就不用再使用IP地址。客户端用户的注册信息会保存在数据库里,下次登录客户端就用属于个人的ID和密码。首先要实现用户的注册:
public
void
register(){
String
strServerIp
=
txtHost.getText();
String
strServerPort=txtPort.getText();
this.dispose();
new
Register(strServerIp,strServerPort);
然后向服务器端发送“注册”的命令。服务器处理接收到的命令为“注册”时调用函数,合法注册后,向客户端发送“注册成功”的消息,并断开连接。由于时间关系,数据库未能完成,希望下次有机会可以完善。三、心得体会1.成绩与收获这次软件开发让我学到了很多知识。只是只有转变成实际而有用的东西才能显现出它的价值。学习不只是学习理论只是,更重要的是自己的动手操作能力。这个软件工程的项目实战让我真切感受到软件开发的全过程,这让我明白软件的开发是一门艺术,而不是代码的简单叠加。这需要一个小组的共同努力。这次开发让我跟深入的去思考了一个软件的构成与实现。以前用通讯软件是从未思考过如何实现它的功能,等自己来做是才发现里面要考虑的东西很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2021中考古诗词表达技巧类鉴赏(含答案)
- 2026届国家管网集团高校毕业生招聘笔试参考题库(浓缩500题)及答案详解【名校卷】
- 2026秋季国家管网集团山东分公司高校毕业生招聘笔试备考题库(浓缩500题)含答案详解(能力提升)
- 2026国网湖南省电力校园招聘(提前批)笔试模拟试题浓缩500题附答案详解(培优)
- 2026秋季国家管网集团华中公司高校毕业生招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 2026国网内蒙古电力公司高校毕业生提前批招聘笔试参考题库浓缩500题附答案详解
- 国家管网集团2026届高校毕业生招聘笔试备考试题(浓缩500题)(含答案详解)
- 2026国网广西电力校园招聘(提前批)笔试模拟试题浓缩500题附答案详解(考试直接用)
- 2026国家管网集团北方管道公司秋季高校毕业生招聘考试参考试题(浓缩500题)含答案详解(完整版)
- 2026秋季国家管网集团西北公司高校毕业生招聘笔试模拟试题(浓缩500题)及参考答案详解(培优a卷)
- 会计实务操作流程标准指南
- 2025年5月四级育婴员模考试题
- 客服服务标准化操作手册
- 农村房屋交付协议书模板
- 采伐林木政策解读课件教学
- 高血压糖尿病健康教育
- 网络信息安全应急领导小组职责
- 学堂在线 运动损伤学 期末考试答案
- 医院行风教育培训
- 血证中医特色护理查房
- 中国古代历法课件
评论
0/150
提交评论