版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计实验报告-实验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使
2、用套接字实现基于TCP协议的服务器和客户端。3.为服务器和客户端界面中的有关组件添加消息相应,实现交互。三、使用硬件、软件环境 PC 计算机一台,配置为CPU为2.6G,内存为4G,硬盘为1T,安装Windows8操作系统。另外,使用JCreator,JDK1.8.0等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等) 1.实验过程: 首先实现界面的编写,之后使用套接字实现基于TCP协议的通信,再设置监视 器,为相应的组件添加消息相应。 2.源程序:1.客户端程序:KeHuDuan.javaimport java.awt.*;import java.awt.event.*;im
3、port java.util.*;import java.io.*;import .*;import javax.swing.*;public class KeHuDuanpublic static void main(String args)MyFrame client = new MyFrame();client.setVisible(true);client.setResizable(false);client.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);class MyFrame extends JFrameJTe
4、xtField 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 Fl
5、owLayout(); setSize(400,400); setLocation(800,100); add(new JLabel(Serve ip); ip = new JTextField(,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 JScrol
6、lPane(content); add(scroll); add(new Label(Say:); cin = new JTextField(25); add(cin); say = new JButton(say); add(say);class ConnectListen implements ActionListenerint portNum;public void actionPerformed(ActionEvent e)connect.setEnabled(false);try portNum =Integer.parseInt(port.getText();socket = ne
7、w Socket(ip.getText(),portNum);ClientThread ct = new ClientThread();ct.start(); catch (Exception ex) class SayListen implements ActionListenerString str;public void actionPerformed(ActionEvent e)try PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),
8、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 Threadpublic void run()try BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream();String str;while(true)str = i
9、n.readLine();/System.out.println (a);content.append(str+n); catch (Exception ex) 2.服务器端程序:import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;import .*;import javax.swing.*;public class FuWuQipublic static void main(String args)MyFrame serve = new MyFrame();serve.se
10、tVisible(true);serve.setResizable(false);serve.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);class MyFrame extends JFrameJTextField port;JButton start;JTextArea content;JTextField cin;JButton say;Socket socket;MyFrame()init();StartListen sListen = new StartListen();SayListen stListen = new SayLi
11、sten();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);content = new JTextArea(15,35);JScrollPane scroll
12、= new JScrollPane(content);add(scroll);add(new JLabel(Say:);cin = new JTextField(26);add(cin);say = new JButton(Say);add(say);class StartListen implements ActionListenerpublic void actionPerformed(ActionEvent e)start.setEnabled(false);try ServerSocket s = new ServerSocket(Integer.parseInt(port.getTe
13、xt();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 ActionListenerString str;publi
14、c 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 ServerThread extends Threadpublic void run()try BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream();String str;while(true)str
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中政治课件
- 喘证中医辩证的课件
- 初中自然拼读课件
- 初中资料课件
- 厂长周报课件
- 超市行业费用分析报告
- 家电行业运营分析报告
- 小学五年级心理健康教育我的情绪我做主教学设计
- 初中九年级科学光学成像规律及其跨学科应用教学设计
- 衔接点14应用文写作初高考点差异及衔接教学设计高中英语
- 油罐区(油罐车、油站设备)着火应急处置方案培训课件
- 湖南省郴州市苏仙区2024-2025学年九年级上学期期中考试化学试题(含答案)
- 工会职工之家活动室建设方案
- 中级经济师知识产权专业知识与实务真题及解析(2026年)
- 老师家访培训课件
- 中建四局《高洁净芯片厂房项目技术要点交流汇报》(可编辑)
- 《JBT 6655-2013耐热圆柱螺旋压缩弹簧 技术条件》(2026年)实施指南
- 2024-2025学年广东省广州市天河区八年级上学期期中数学试卷(含答案)
- 国家科技安全教学课件
- 小学保障学生每天综合体育活动时间不低于两小时实施方案(完整版)
- 汽车4S店售后服务流程说明书
评论
0/150
提交评论