没有合适的资源?快使用搜索试试~ 我知道了~
首页基于GUI的网络通信程序设计.docx
基于GUI的网络通信程序设计.docx
需积分: 41 23 下载量 159 浏览量
更新于2023-03-03
评论 1
收藏 72KB DOCX 举报
实验二 基于GUI的网络通信程序设计 一.实验目的 1.掌握Java中GUI程序的编写,包括事件监听机制。 2.掌握Java的网络通信编程,ServerSocket,Socket类的使用。 3.掌握Java中多线程的编程,Thread类,Runnable接口的使用。 4.掌握用面向对象的方法分析和解决复杂问题。 二.实验内容 编写程序完成以下功能: 1. 设计一个基于GUI的客户-服务器的通信应用程序,如图1,图2所示。 图1 Socket通信服务器端界面 图2 Socket通信客户端界面 2.图1为Socket通信服务器端界面,点击该界面中的【Start】按钮,启动服务器监
资源详情
资源评论
资源推荐
《Java 技术》实验报告
实验二:基于 GUI 的网络通信程序设计
2020 年 10 月 21 日
学院 专业班级
姓名
成绩
课程
名称
Java 技术
实验项目
名 称
基于 GUI 的网络通信程序设计
指导
教师
教
师
评
语
教师签名:
年 月 日
一、实验目的
.1.掌握 Java 中 GUI 程序的编写,包括事件监听机制。
2.掌握 Java 的网络通信编程,ServerSocket,Socket 类的使用。
3.掌握 Java 中多线程的编程,Thread 类,Runnable 接口的使用。
4.掌握用面向对象的方法分析和解决复杂问题。
二、实验原理
1. Socket 是网络上运行的程序之间双向通信链路的 最后终结点
IP 与端口的组合得出一个套接字,可以完全分辨 internet 上运行的程序
2.当程序需要建立网络连接时,必须有一台机器运行 一个程序,随时等候连接,而另一端
的程序则对其 发出连接请求,同电话系统类似 ➢ 建立连接的过程
服务器端生成一个 ServerSocket 实例对象,随时监听客户 端的连接请求
客户端生成一个 Socket 实例对象,并发出连接请求
服务器端通过 accept()方法接收到客户端的请求后,开辟 一个接口与之进行连接,并生成
所需的 I/O 数据流
通信都是通过一对 InputStream()和 OutputStream()进行的。 通信结束后,两端分别关闭对
应的 Socket 接口
三、使用硬件、软件环境
PC 计算机一台,安装 WindowsXP 操作系统。
另外,使用 Eclipse,JDK12.0.2 等软件
四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)
1.利用 Eclipse 软件编程,
源程序
//服务器
package SocketTest;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
class SFrame extends Frame{//定义 CFrame 类
ServerSocket server = null;
Socket client = null;
TextField port = new TextField("4000");
TextArea wbdx = new TextArea(20,60);
TextField xwbdx = new TextField(40);
Button start = new Button("Start");
Button say = new Button("say");
SFListener sfListener = new SFListener();
SFrame(String biaoti){
super(biaoti);
init();
start.addActionListener(sfListener);
say.addActionListener(sfListener);
addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e){
try {
server.close();
}
catch(Exception ee){
ee.printStackTrace();
}
System.exit(0);
}
}
);//窗口监听器
this.setVisible(true);
}
//初始化函数
void init() {
setLocation(10,10); //窗体位置
setSize(300,300); //窗体大小
setResizable(false); //设置窗体不可由用户调整大小
setBackground(Color.white); //设置窗体背景色
wbdx.setBackground(Color.white);
Panel North = new Panel();
North.add(new Label("port"));
North.add(this.port);
North.add(this.start);
this.add(North,BorderLayout.NORTH);//BorderLayout.NORTH 设置
Panel Center = new Panel();
Center.add(this.wbdx);
this.add(Center,BorderLayout.CENTER);//BorderLayout.CENTER 设置
Panel South = new Panel();
South.add(new Label("say"));
South.add(this.xwbdx);
South.add(this.say);
this.add(South,BorderLayout.SOUTH);//BorderLayout.SOUTH 设置
pack(); //自动调整窗口大小
}
class SFListener implements ActionListener {//监听器类
public void actionPerformed(ActionEvent e) {//利用 getActioncommand 获得
按钮名称
String s = e.getActionCommand();
if ("Start" == s) {//start 操作
try {
start.setEnabled(false);
int i = Integer.parseInt(port.getText());
wbdx.append("Server Port :"+port.getText()+"\n");
剩余12页未读,继续阅读
超人阿峰
- 粉丝: 5
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0