基于GUI的网络通信程序的设计说明_第1页
基于GUI的网络通信程序的设计说明_第2页
基于GUI的网络通信程序的设计说明_第3页
基于GUI的网络通信程序的设计说明_第4页
基于GUI的网络通信程序的设计说明_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.*;impor

3、t 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;

4、JTextField port;JTextField cin;JTextArea content;utton connect;utton say;Socket socket;MyFrame()init();ConnectListen cListener = new ConnectListen();SayListen sListener = new SayListen();connect.addActionListener(cListener);say.addActionListener(sListener);void init() setLayout(new FlowLayout(); set

5、Size(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 utton("connect"); add(connect); content = new JTextA

6、rea(16,35); JScrollPane scroll = new JScrollPane(content); add(scroll); add(new Label("Say:"); cin = new JTextField(25); add(cin); say = new utton("say"); add(say);class ConnectListen implements ActionListenerint portNum;public void actionPerformed(ActionEvent e)connect.setEnable

7、d(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(ne

8、w 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 BufferedReade

9、r 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

10、.*;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;utton start;JTextArea content;JTextField c

11、in;utton 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

12、 = new JTextField("8888",25);add(port);start = new utton("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 utton("Say");add(say);class

13、 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)

14、;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(n

15、ew 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论