基于gui的网络通信程序设计

上传人:小** 文档编号:58240745 上传时间:2018-10-28 格式:DOC 页数:6 大小:199.50KB
返回 下载 相关 举报
基于gui的网络通信程序设计_第1页
第1页 / 共6页
基于gui的网络通信程序设计_第2页
第2页 / 共6页
基于gui的网络通信程序设计_第3页
第3页 / 共6页
基于gui的网络通信程序设计_第4页
第4页 / 共6页
基于gui的网络通信程序设计_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于gui的网络通信程序设计》由会员分享,可在线阅读,更多相关《基于gui的网络通信程序设计(6页珍藏版)》请在金锄头文库上搜索。

1、 1 / 6Java 程序设计程序设计实验报告实验报告 -实验实验 3 3实验室:实验室: 2014 年年 12 月月 10 日日学院学院计算机与信息学院专业班级专业班级姓名姓名成绩成绩课程课程 名称名称Java 程序设计实验项目实验项目名名 称称实验三 基于 GUI 的网 络通信程序设计指导指导 教师教师教师评语教师签名:年 月 日1、实验目的实验目的 1掌握 Java 中 GUI 程序的编写,包括事件监听机制。 2掌握 Java 的网络通信编程,ServerSocket,Socket 类的使用。 3掌握 Java 中多线程的编程,Thread 类,Runnable 接口的使用。 4掌握用面

2、向对象的方法分析和解决复杂问题。2、实验原理实验原理 1. 利用 java.awt 和 javax.swing 包提供的各种组件实现服务器和客户端的界面设 计。 2使用套接字实现基于 TCP 协议的服务器和客户端。 3.为服务器和客户端界面中的有关组件添加消息相应,实现交互。三、使用硬件、软件环境三、使用硬件、软件环境PC 计算机一台,配置为 CPU 为 2.6G,内存为 4G,硬盘为 1T,安装 Windows8 操作系统。 另外,使用 JCreator,JDK1.8.0 等软件四、实验过程、步骤及原始记录四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等算法、原程序、测试结果,分

3、析等) 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 / 6public class KeHuDuan public static void main(String args) MyFrame client = n

4、ew 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 cL

5、istener = 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 JLab

6、el(“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 Conn

7、ectListen 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 implem

8、ents 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(“)

9、;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 / 6catch (Exception ex) 2.服务器端程序:impo

10、rt 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_CL

11、OSE); 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 i

12、nit()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 / 6content = new JTextArea(15,35); JScrollPane scroll = new JScrollPane(content); add(scroll); add(new JLabel(“Say

13、:“); 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 = ne

14、w 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(ActionEven

15、t 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.append(str+“n“); catch (Exception ex) 3.3.测试结果:测试结果:五、实验结论、分析、思考题与心得体会五、实验结论、分析、思考题与心得体会 通过本次实验,我有以下几方面的收获、认识和体

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号