16 Java 开发实例——网络五子棋游戏

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 Java 开发实例——网络五子棋游戏

由图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 对象。由

1

你可能喜欢

  • java五子棋代码
  • 五子棋
  • 实验报告JAVA
  • 五子棋规则
  • 五子棋技巧
  • 五子棋C语言源代码

16 Java 开发实例——网络五子棋游戏相关文档

最新文档

返回顶部