没有合适的资源?快使用搜索试试~ 我知道了~
西南科技大学java实验 7.doc
资源推荐
资源详情
资源评论
Java 程序设计方法与实践
实验报告
实验名称: 网络程序设计实验
实验类型: 综合性
指导教师:
专业班级: 计算机科学与技术 22 班
姓 名:
学 号: 512022xxxx
实验地点: 东区东 6 教学楼 E5-01
实验成绩:
日期:2024 年 5 月 18 日
实验七 网络程序设计实验
一、实验目的
练习 Socket 网络访问方法,理解网络程序的设计思想与实现方法。
二、实验内容
设计网络聊天程序,实现如下功能:
(1)聊天两端具有相同的界面,包括能输入消息的文本框、发送消息按钮、消
息列表文本框;
(2)任意一端均可以实时发送和接收消息,并在自身的消息列表中显示消息记
录。
三、实验设计
1.选取组件
窗口类:JFrame 类
容器类:Container
带滚动条的容器类:JScrollPane 类
标签类:JLabel 类
文本区域类:JTextArea 类
列表框类:JComboBox
按钮类:JButton 类
面板类:JPanel 类
2. 设计布局
初始化窗口,设置标题,大小,窗口大小设置为不可改变;
将窗口的内容赋给容器,通过容器来操纵窗口;
点击关闭,程序停止执行;
初始化各种标签类,文本区域类,带滚动条的容器类,并把文本区域类添加
进带滚动条的容器类里,并设置了滚动条容器的大小;
初始化列表框;
初始化东,南,西,北 4 个面板,并向其中添加上面的各种组件;
将东,南,西,北 4 个面板添加进容器中,并将窗口设置为可见;
3.响应事件
初始化三个按钮,并为三个按钮添加监听器;
4.设计原理:
1、正确设计图形用户界面,采用 GUI 编程;
2、完成网络访问的界面和功能设计,实现简单的聊天软件,客户端发送的消
息,服务端能够收到,服务端发送的消息,客户端也能够收到;
3、进行测试并分析测试结果;
5.设计方法:
界面设计:
服务端和客户端:
服务端:
初始化一个 serverSocket 对象,端口号为 1111,用于与客户端进行通信;
通过实现 Runnable 接口来创建线程:
客户端:
用于与服务端连接,指定为本机,端口为 1111 的服务端;
通过实现 Runnable 接口来创建线程:
6.设计过程:
服务端:
第一个方法:
这是一个用于启动服务器的方法,用于监听特定的端口(在这里是 1111 端
口)并处理来自客户端的连接。
1.初始化 ServerSocket:
这行代码尝试在 1111 端口上创建一个 ServerSocket,用于监听来自客户端
的连接。
2. 异常处理:
如果在创建 ServerSocket 时发生 IOException,则捕获该异常。但当前的
异常处理块是空的,这意味着如果出现任何问题,程序不会给出任何反馈或进行
任何恢复操作。
3. 创建服务器界面:
这行代码创建了一个新的服务器界面(ServerFrame 是一个自定义的图形用
户界面类)。
4. 服务器循环:
使用 while(ifStarted)循环来持续监听新的客户端连接。但请注意,变量
ifStarted 在代码中从未被设置为 false,除非外部因素导致其停止。
5. 接受新的连接:
serverSocket.accept()是一个阻塞方法,它将等待直到一个客户端连接到
服务器。当有客户端连接时,它返回一个与该客户端通信的 Socket`对象。
6. 更新客户端状态与界面:
以下代码更新了表示已连接客户端数量的标签和列表框:
7. 为新客户端创建线程:
当一个新的客户端连接时,服务器会为这个客户端创建一个新的线程,以便
可以并行处理多个客户端连接:
客户端:
第一个方法:
这是一个客户端的 connect 方法,用于连接到运行在本地(IP 地址为
127.0.0.1)上的服务器,并在成功连接后执行一系列操作。
剩余23页未读,继续阅读
资源评论
ksbglllllll
- 粉丝: 223
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在线云音乐-java-基于SSM在线云音乐系统的设计与实现(毕业论文+ppt)
- Beyond-Compare安装包
- 车牌检测-基于YOLOv5实现的车牌检测算法-附项目源码-优质项目实战.zip
- 绿色农产品推广-java-基于SSM绿色农产品推广应用网站设计与实现(毕业论文)
- PyTorch 中的 YOLOv5.rar
- 实现中心-java-基于SSM安徽新华学院实验中心管理系统的设计与实现(毕业论文+开题)
- 车牌检测-基于Pytorch+YOLOv8实现的车牌检测算法-附项目源码+流程教程-优质项目实战.zip
- 菜匣子优选系统-java-基于SSM的菜匣子优选系统设计与实现(毕业论文)
- ChromeSetup.exe
- 大模型之三十二-语音合成TTS(coqui)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功