基于GUI的网络通信程序设计_第1页
基于GUI的网络通信程序设计_第2页
基于GUI的网络通信程序设计_第3页
基于GUI的网络通信程序设计_第4页
基于GUI的网络通信程序设计_第5页
免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论