欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    局域网聊天程序java课程设计.docx

    • 资源ID:12549943       资源大小:738.51KB        全文页数:16页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    局域网聊天程序java课程设计.docx

    1、局域网聊天程序java课程设计 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 局域网聊天程序的设计与实现 姓 名: 学 号: 专业班级: 软件工程 软件092 系 (院): 计算机工程学院 设计时间: 2011.6.132011.6.24 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运

    2、用面向对象知识分析实际问题、解决实际问题的能力。2课程设计任务与要求:课程设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用UML建模技术进行系统的分析设计,在Visio中画出系统用例图和类图,并将UML图复制到设计报告中。通过这次设计,要求掌握以下内容:1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用2)类、包、接口的定义与使用3)常用工具类与算法的实现(数组、向量、字符串、链表)4)Java常用标准GUI组件及其事件处理5)Java的异常处理机制6)Java的数据库连接技术7)Java的多

    3、线程技术与动画制作8)Java的网络编程课程设计选题:局域网聊天程序的设计与实现开发工具:NetBeans 7.03课程设计说明书选题意义:局域网聊天软件,除了能加强网络之间的信息沟通外,最主要的是可以将网站信息与聊天用户紧密联系在一起。通过网站信息向聊天用户群及时群发送,可以迅速吸引聊天用户群对网站的关注,从而加强网站的访问率与回头率。局域网聊天软件利用的是互联网线路,通过文字、语音、视频、文件的信息交流与互动,有效节省了沟通双方的时间与经济成本;局域网聊天软件不但成为人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台,将日常办公的传统沟通方式替换,有效的减少办公费用的同

    4、时,较之更有效率百分之一。达到的目标:快速、方便的短信收发,同时满足个人和企业基于手机短信沟通的需求。功能要求:发送信息,发送图片,发送文件,接收信息,接收图片,接收文件。发起语音对话,发起视频通讯。UML图如下:流程图如下: 建立连接 断开连接 C/S模式套接字的连接示意图4课程设计成果服务器端: 开启服务:private void startServer() try server = new ServerSocket(2345); Accepter accepter=new Accepter(); accepter.start(); catch (IOException ex) JOpti

    5、onPane.showMessageDialog(null, 警告 出错!); 发送信息: private void send() done = false; try in = new DataInputStream(client.getInputStream(); out= new DataOutputStream(client.getOutputStream(); catch (IOException ex) JOptionPane.showMessageDialog(null, 警告 出错!); String str=sentence.getText(); if(str!=null&!s

    6、tr.equals() chatcontent.append(本地端:+str+n); try out.writeUTF(str); catch(IOException e1) chatcontent.append(客户端不存在.n); else chatcontent.append(聊天信息不能为空n); 停止服务器: private void stopServer() done = true; try out.writeUTF(服务器断开!); catch (IOException ex) JOptionPane.showMessageDialog(null, 提示 服务器断开!); fi

    7、nally try server.close(); catch (IOException ex) JOptionPane.showMessageDialog(null, 提示 服务器断开!); 断开连接的方法: private void disconnect() try out.writeUTF(服务器断开连接!); catch (IOException ex) finally done=true; try in.close(); out.close(); catch (IOException ex) JOptionPane.showMessageDialog(null, 警告 出错!); f

    8、inally try client.close(); catch (IOException ex) JOptionPane.showMessageDialog(null, 警告 出错!); 接受连接的方法: private void acceptConnect() try in = new DataInputStream(client.getInputStream(); out= new DataOutputStream(client.getOutputStream(); done=false; waiter wait=new waiter(); wait.start(); catch (IO

    9、Exception ex) JOptionPane.showMessageDialog(null, 警告 出错!); 等待客户发来连接请求的线程: private class Accepter extends Thread Override public void run() while(!done) try client = server.accept(); acceptConnect(); catch (IOException ex) JOptionPane.showMessageDialog(null, 警告 出错!); try server.close(); catch (IOExce

    10、ption ex) JOptionPane.showMessageDialog(null, 警告 出错!); 等待客户发来的信息的线程: private class waiter extends Thread public void run() while(!done) / String str=; try /str = in.readUTF(); String str=in.readUTF(); chatcontent.append(客户端:+str+n); catch (IOException ex) JOptionPane.showMessageDialog(null, 警告 连接出错!

    11、); chatcontent.append(客户端已经断开 n); disconnect(); 客户端:客户端接受信息的线程:public class ChatClient extends javax.swing.JFrame public ChatClient() initComponents(); try clientAddress = InetAddress.getLocalHost(); catch (UnknownHostException ex) Logger.getLogger(ChatClient.class.getName().log(Level.SEVERE, null,

    12、ex); byte ip = clientAddress.getAddress(); String strIP = (ip0&0xFF)+.+(ip1&0xFF)+ .+(ip2&0xFF)+.+(ip3&0xFF); remoteIP.setText(strIP); /remotePort.setText(2345); 建立连接: public void connect() try /client = new Socket(127.0.0.1, 2345); client = new Socket(remoteIP.getText(), 2345); in = new DataInputSt

    13、ream(client.getInputStream(); out= new DataOutputStream(client.getOutputStream(); chatcontent.append(连接成功!n); waiter wait=new waiter(); wait.start(); catch (UnknownHostException ex) / Logger.getLogger(ChatClient.class.getName().log(Level.SEVERE, null, ex); chatcontent.append(连接失败!n); /stopConnection

    14、.setEnabled(false); /send.setEnabled(false); catch (IOException ex) / Logger.getLogger(ChatClient.class.getName().log(Level.SEVERE, null, ex); chatcontent.append(连接失败!n); /stopConnection.setEnabled(false); /send.setEnabled(false); 发送信息: private void send() try in = new DataInputStream(client.getInpu

    15、tStream(); out= new DataOutputStream(client.getOutputStream(); catch (IOException ex) Logger.getLogger(ChatClient.class.getName().log(Level.SEVERE, null, ex); String str=sentence.getText(); if(str!=null&!str.equals() chatcontent.append(本地端:+str+n); try /out.writeUTF(sentence.getText(); out.writeUTF(

    16、str); catch(IOException e1) chatcontent.append(服务器已断开.n); else chatcontent.append(聊天信息不能为空n); sentence.setText();断开连接: private void disconnect() try out.writeUTF(连接结束!); catch (IOException ex) chatcontent.append(警告 出错!n); finally done=true; try in.close(); out.close(); catch (IOException ex) JOption

    17、Pane.showMessageDialog(null, 警告 出错!); finally try client.close(); catch (IOException ex) JOptionPane.showMessageDialog(null, 警告 出错!); 接受服务器端信息的线程: private class waiter extends Thread Override public void run() while(!done) try String str=in.readUTF(); chatcontent.append(服务器端:+str+n); catch (IOExcept

    18、ion ex) chatcontent.append(连接出错 信息未发送 n); chatcontent.append(服务器端已经断开 n); disconnect(); 实验截图如下:服务器端开启服务:客户端建立连接后即可同学可以更换背景:服务器断开连接:通讯结束5.课程设计心得经过这次课程设计,我对Java又有了一定地深入了解,这次我选的题目是局域网聊天程序的实现,涉及的编程知识不是太多,主要就是Java网络编程那一块。一开始拿到这个题目,其实并不知道如何下手,因为以前并没有做过此类的程序设计,对网络编程这一块的认识也相对较少。为了写好程序,我开始去图书馆看相关的书籍,了解到利用套接字

    19、可以进行网络通讯相关的编程,知道了C/S模式下的局域网聊天程序的方式及其实现形式。知道了要建立网络通讯连接,首先服务器要创建一个服务器的套接字,然后用accept()方法等待客户端的连接,客户端也创建一个客户端套接字,并通过服务器的IP地址和端口号连接服务器,再建立连接之后,就要定义两端的输入输出流,然后依据一定的协议进行数据传输,最后要注意关闭各自的套接字。整个C/S模式的局域网通讯方式就是这样。这次我写的程序相对简单,只实现了服务器和客户端的连接通讯,老师也觉得这个程序太简单了,确实简单了些,不过我也尝试过客户端与客户端的连接,但是似乎线程这一块的程序我并没有写好,总是报错,于是我变舍弃了客户端与客户端连接的实现,虽然课程设计结束了,但是我的Java之路还长,我会利用暑假时间好好补习一下,好好完善我的程序。总的来说,这次课程设计的收获还是很大的,尤其在网络编程,和线程的使用这一块,学到了很多,自己对Java的兴趣也是越开越浓,希望在今后的学习中,自己能够取得不断的进步,让自己的大学变的充实而又精彩。


    注意事项

    本文(局域网聊天程序java课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开