

免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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使用套接字实现基于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.*;import 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 JFrameJTextField 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(,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);class ConnectListen implements ActionListenerint 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 ActionListenerString 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 Threadpublic 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); 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.setVisible(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 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);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 ActionListenerpublic 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 ActionListenerString 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 ServerThread extends Threadpublic void run()try BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream();String str;while(true)str = in.r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五十六个民族团结的课件
- 数字化销售讲解
- 溶液聚合工艺技术详解
- 肾部肿瘤诊疗指南解读
- 乡村颐养工程汇报
- 生物催化技术进展
- 2018建筑方案设计题目
- 皮亚杰认知发展四阶段理论
- 2025国家执业药师资格考试历年真题试卷与解析
- 2025年全国医师定期考核人文医学考试题库附答案
- 2025规范家居装修协议
- 2025年广西继续教育公需科目考试试题及答案贯彻创新驱动发展战略打造
- “安全生产责任制”培训试题及答案
- 2025年兵团职工考试试题及答案
- 《活着》读书分享优秀课件
- 微型桩施工方案
- 《一站到底》答题库大全之一(共800题)
- 管理学原理英文版版教学课件第10章
- 石油天然气建设公司HSE费用财务管理实施细则及会计核算办法
- MAU控制逻辑检讨
- AB股有限公司章程律师版
评论
0/150
提交评论