五子棋联机对战(JAVA实现)含源码

本文详述了一款使用JAVA编程的五子棋联机对战游戏的开发,采用C/S架构,利用JAVA swing, socket, mysql+jdbc, 多线程等技术。重点讲解了C/S架构的连接实现,服务器端与用户端的编写,以及IO流在数据传输中的应用。通过服务器端处理客户端数据,结合数据库存储,实现了多玩家的实时交互。" 117020118,9773893,SpringBoot连接MySQL8报错:加载驱动被弃用解决方案,"['Java', 'SpringBoot', '数据库连接', 'MySQL8', '驱动']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次面向对象编程课程设计,是制作一款五子棋联机对战游戏。在上学期做过一款五子棋单机版,其耦合度低,便将其拿来直接制作联机版本。
主要应用的技术:C/S架构 JAVA swing,JAVA socket,mysql+jdbc,多线程等,这里我着重把与网络传输的知识点进行细讲。

1.首先,什么是C/S架构?

服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。

2.C/S架构如何实现连接?

需要使用到两个类, 来实现Client和Server的连接
1.ServerSocket 搭建服务器
2.Socket 搭建客户端
两方使用socket(套接字 , 通信端点) 进行交流
serversocket用于创建服务器 . 创建完毕后, 会绑定一个端口号. 然后此服务器可以等待客户端连接 . 每连接一个客户端 , 服务器就会得到一个新的Socket对象, 用于跟客户端进行通信 .
Serversocket的创建:
基本的单连接在此就不做叙述,因为服务器需要同时连接多个客户端,因此这里需要将每个连接赋予给单独的线程进行操作,实现多个客户端同时交互数据。
在这里插入图片描述
在这里插入图片描述

(至于这里线程调用的request方法,在后面服务器端详细叙述)
Socket是两台计算机之间通信的端点 , 是网络驱动提供给应用程序编程的一种接口 一套标准, 一种机制 .
Socket的创建:
在这里插入图片描述
在这里插入图片描述

3.IO

服务器端在整个过程中的职责是处理客户端发送过来的数据以及将需要的数据发送给客户端。因此其不需要考虑游戏本身的逻辑,只需要传输数据即可。那么,数据究竟是如何传输的呢?这里就需要用到I/O流了。
什么是IO?
我们的电脑中,硬盘,内存等储存了我们平时使用电脑时所使用的数据,我们可以通过U盘,网络等获得他人的数据或将数据发送给他人。我们把这种数据的传输,称为一种数据的流动(即IO),通过流动的反向,分为输入(Input)和输出(Output),即流向内存时输入,流出内存是输出。
IO的分类:
通过数据的流向,分为输入流和输出流。
通过数据的类型,分为字节流和字符流
I/O流拥有许多子类,在本程序中我们通过使用ObjectOutputStream和ObjectInputStream来进行传输,你要是想问为什么,答案就是他可以直接传输Object类型的数据,即所有类型的数据,(简单粗暴

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值