




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 6 Java 程序设计程序设计 实验报告实验报告 实验实验 3 3 实验室 实验室 2014 年年 12 月月 10 日日 学院学院计算机与信息学院专业班级专业班级姓名姓名成绩成绩 课程课程 名称名称 Java 程序设计 实验项目实验项目 名名 称称 实验三 基于 GUI 的网 络通信程序设计 指导指导 教师教师 教 师 评 语 教师签名 年 月 日 1 实验目的实验目的 1 掌握 Java 中 GUI 程序的编写 包括事件监听机制 2 掌握 Java 的网络通信编程 ServerSocket Socket 类的使用 3 掌握 Java 中多线程的编程 Thread 类 Runnable 接口的使用 4 掌握用面向对象的方法分析和解决复杂问题 2 实验原理实验原理 1 利用 java awt 和 javax swing 包提供的各种组件实现服务器和客户端的界面设 计 2 使用套接字实现基于 TCP 协议的服务器和客户端 3 为服务器和客户端界面中的有关组件添加消息相应 实现交互 三 使用硬件 软件环境三 使用硬件 软件环境 PC 计算机一台 配置为 CPU 为 2 6G 内存为 4G 硬盘为 1T 安装 Windows8 操作系统 另外 使用 JCreator JDK1 8 0 等软件 四 实验过程 步骤及原始记录四 实验过程 步骤及原始记录 算法 原程序 测试结果 分析等算法 原程序 测试结果 分析等 1 实验过程 实验过程 首先实现界面的编写 之后使用套接字实现基于 TCP 协议的通信 再设置监视 器 为相应的组件添加消息相应 2 2 源程序 源程序 1 客户端程序 KeHuDuan java import java awt import java awt event import java util import java io import import javax swing 2 6 public class KeHuDuan public static void main String args MyFrame client new MyFrame client setVisible true client setResizable false client setDefaultCloseOperation JFrame DISPOSE ON CLOSE class MyFrame extends JFrame JTextField ip JTextField port JTextField cin JTextArea content JButton connect JButton say Socket socket MyFrame init ConnectListen cListener new ConnectListen SayListen sListener new SayListen connect addActionListener cListener say addActionListener sListener void init setLayout new FlowLayout setSize 400 400 setLocation 800 100 add new JLabel Serve ip ip new JTextField 127 0 0 1 8 add ip add new JLabel Serve port port new JTextField 8888 8 add port connect new JButton connect add connect content new JTextArea 16 35 JScrollPane scroll new JScrollPane content add scroll add new Label Say cin new JTextField 25 add cin say new JButton say add say 3 6 class ConnectListen implements ActionListener int portNum public void actionPerformed ActionEvent e connect setEnabled false try portNum Integer parseInt port getText socket new Socket ip getText portNum ClientThread ct new ClientThread ct start catch Exception ex class SayListen implements ActionListener String str public void actionPerformed ActionEvent e try PrintWriter out new PrintWriter new BufferedWriter new OutputStreamWriter socket getOutputStream true str cin getText if str isEmpty out println str content append me str n out flush cin setText catch Exception ex class ClientThread extends Thread public void run try BufferedReader in new BufferedReader new InputStreamReader socket getInputStream String str while true str in readLine System out println a content append str n 4 6 catch Exception ex 2 服务器端程序 import java awt import java awt event import java util import java io import import javax swing public class FuWuQi public static void main String args MyFrame serve new MyFrame serve setVisible true serve setResizable false serve setDefaultCloseOperation JFrame DISPOSE ON CLOSE class MyFrame extends JFrame JTextField port JButton start JTextArea content JTextField cin JButton say Socket socket MyFrame init StartListen sListen new StartListen SayListen stListen new SayListen start addActionListener sListen say addActionListener stListen void init setLayout new FlowLayout setSize 400 400 setLocation 400 100 add new JLabel Port port new JTextField 8888 25 add port start new JButton Start add start 5 6 content new JTextArea 15 35 JScrollPane scroll new JScrollPane content add scroll add new JLabel Say cin new JTextField 26 add cin say new JButton Say add say class StartListen implements ActionListener public void actionPerformed ActionEvent e start setEnabled false try ServerSocket s new ServerSocket Integer parseInt port getText socket s accept PrintWriter out new PrintWriter new BufferedWriter new OutputStreamWriter socket getOutputStream true out println 连接成功 content append 连接成功 n ServerThread st new ServerThread st start catch Exception ex class SayListen implements ActionListener String str public void actionPerformed ActionEvent e try PrintWriter out new PrintWriter new BufferedWriter new OutputStreamWriter socket getOutputStream true str cin getText if str isEmpty out println str content append me str n out flush cin setText catch Exception ex 6 6 class ServerThread extends Thread public void run try BufferedReader in new BufferedReader new InputStreamReader socket getInputStream String str while true str in readLine content ap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学三年级课外阅读专项训练测试题
- 建筑工程项目竣工验收标准解读
- 优惠不停抢购一波
- 职业教育实习指导方案
- 并行计算安全预案策略
- 时间管理能力要求的工作详解
- 古典美术品保护修复指南
- 农作物病虫害防治技术总结
- 医院护理质量控制与风险防范措施
- 高中物理实验改进创新实例集
- 边坡工程第3章 边坡工程地质勘察
- 索思医疗卓越产品系列穿戴式动态心电监测产品
- 全国医药行业特有职业技能竞赛中药调剂员赛项备赛试题库(含答案)
- 中建基础设施公司“主要领导讲质量”
- 房屋交易诚意金合同范本模板
- 《毛泽东思想的形成与发展》参考课件3
- GB/T 4706.95-2024家用和类似用途电器的安全第95部分:商用电动抽油烟机的特殊要求
- JTG 3362-2018公路钢筋混凝土及预应力混凝土桥涵设计规范
- 脑梗死知识讲解模板
- 女性中医保健智慧树知到期末考试答案章节答案2024年暨南大学
- (正式版)JTT 1497-2024 公路桥梁塔柱施工平台及通道安全技术要求
评论
0/150
提交评论