- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
16 章 Java 开发实例——网络五子棋游戏
使用Eclipse 集成开发工具可以方便地开发Java 应用程序,本节就以一个综合实例对前面章节学过的内容进行总结与提升。读完本章后,读者能够清楚地知道使用Eclipse 开发Java应用程序的完整流程。
16.1 Java Socket 编程基础由于本章采用的实例需要用到 Java的 Socket 类实现网络通信,首先来介绍一下 JavaSocket 编程的基础知识,以便读者能够相对轻松地阅读后面的章节。
16.1.1 Socket 简介
Socket 通常称为“套接字”,它是一个封装了IP 地址和端口通信链的句柄,应用程序通 常通过 “套接字”向网络发出请求或者应答网络请求。Socket 可以视为两个程序进行的通信 连接的端点,一个程序将信息写入Socket 中,该Socket 将信息发送到对方 Socket 中,通信 另一方的应用程序通过读取Socket 来获取相应得信息。 Socket 的通信过程如图16-1 所示。
由图16-1 可以看到,Socket 通信的过程如下。
(1)主机 A 上的程序A 将一段信息写入Socket 中,Socket 的内容被主机A 的网络管理软件访问后通过主机A 的网络接口卡发送到主机 B 。
(2 )主机 B 的网络接口卡将接收到的信息传送给主机 B 的网络管理软件,网络管理软件将这段信息保存在主机 B 的Socket 中,然后程序B 在自己的Socket 中阅读这段信息。
16.1.2 Java Socket 的基本类
网络编程的基本模型是客户机/服务器模型,即通常所说的C/S 结构。Java SDK 提供一些API 类来完成客户机Socket 和服务器Socket 的构建与通信,这些类存在于Java.net 包中。常用的类有Socket 和ServerSocket 类。
(1)Socket 类。当客户程序需要与服务器程序通信的时候,客户程序要在客户机创建一个 Socket 对象。Socket 类常用的构造函数是 Socket(String host, int port) ,它创建一个基于Socket 的连接服务器 流套接字的客户 流套接字。如果创建了一个Socket 对象,它可以通过调用 Socket 的 getInputStream()方法从服务程序获得输入流传送来的信息,也可以通过调用Socket 的 getOutputStream()方法获得输出流,来发送消息。在读写活动完成之后,客户程序必须调用close()方法关闭流和流套接字。
(2 )ServerSocket 类。服务器端有一个专门的ServerSocket 对象,ServerSocket 有几个构造函数,最简单的是ServerSocket(int port) 。服务 首先构造一个ServerSocket 对象(port 参数传递的端口号就是服务器监听连接请求的 口),创建完成后就开始准备接收连接请求。接下来服务程序进入循环,循环从调用 ServerSocket 的accept()方法开始 (accept()方法将导致 调用线程阻塞直到连接建立),建立连接后accept()返回一个绑定了客户程序的IP 地址或端口 号的Socket 对象。由于存在单个服务程序与多个客户程序通信的可能,解决方法是 服务器 主机运行一个处理服务程序和客户程序的通信后台线程。
16.2 网络五子棋程序的代码结构详解
本实例是一个简单的网络五子棋程序。程序由两个部分组成:一部分为服务器 ,另一部分为五子棋客户 。其中服务器 以消息方式完成客户 的管理,客户 支持对弈和聊天。实例源代码由com.fivechess.chessface、com.fivechess.client 和com.fivechess.server 3 个包组成。
注意 详细注释都写在代码中。
16.2.1 com.fivechess.chessface
此包主要包含与游戏客户 界面有关的一些类文件,如 chessPad、chatPad、controlPad和inputPad 等。下面分别介绍这几个文件。
1.chatPad
chatPad 类是一个用户界面组件,其本身是一个具有带有滚动条的文本域的Panel,用户的聊天信息和命令的执行结果都将在此文本域上显示。chatPad 的实现代码如实例16-1 所示。
【实例16-1 】chatPad (chatPad.java )
package com.fivechess.chessface;
import java.aw
您可能关注的文档
- 《基于C_的Framework程序设计认证考试》.doc
- 【花花提供】C++课程设计报告(北华航天工业学院)费.doc
- 4 保证安全的技术措施.doc
- 2009级C++面向对象程序设计I实验指导书OK.doc
- 2013版毕业论文手册费下载.doc
- 2014年河南专业技术人员继续教育考试标准答案A.doc
- 2015内蒙古自治区专业技术人员继续教育学习考试(全部).doc
- C++标准模版库使用简介9016534.doc
- C++程序设计与实践(摘自c++作业里的那点小事 ).doc
- C++初学者入门指南第四篇.doc
- (高清版)DB52∕T 689-2010 烤烟专业队伍建设作业规范 专业烘烤队伍.pdf
- (高清版)DB52∕T 692-2010 贵州省温泉旅游设施与服务.pdf
- (高清版)DB52∕T 713-2015 地理标志产品 雷山银球茶.pdf
- (高清版)DB52∕T 679-2010 贵州省标准化烟叶站(点)建设规范.pdf
- (高清版)DB52∕T 687-2010 烤烟专业队伍建设作业规范 专业植保队伍.pdf
- (高清版)DB52∕T 685-2010 烤烟专业队伍建设作业规范 专业育苗队伍.pdf
- (高清版)DB52∕T 705-2011 人工马尾松地径材积表.pdf
- (高清版)DB52∕T 722-2011 白栎次生薪炭林经营技术规程.pdf
- (高清版)DB52∕T 743-2012 金属冶炼行业 自吸过滤式防尘口罩.pdf
- (高清版)DB2201∕T 8-2021 行道树栽植与养护管理技术规范 .pdf
文档评论(0)