java五子棋课程设计报告

java五子棋课程设计报告

ID:10733207

大小:36.50 KB

页数:3页

时间:2018-07-08

java五子棋课程设计报告_第1页
java五子棋课程设计报告_第2页
java五子棋课程设计报告_第3页
资源描述:

《java五子棋课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录第一章概述……………………………………………………………………………………11.1课程设计意义1.2课程设计目的1.3课程设计要求第二章网络五子棋设计的需求分析和总体设计2.1需求分析2.1.1功能需求分析2.1.2性能需求分析2.1.3用户界面需求2.2系统的主要功能2.3系统包含的类及类之间的关系2.4Java源文件及其功能2.5程序总体思路2.6系统流程图第三章系统详细设计3.1界面设置3.2控制按钮3.3规则3.4棋盘坐标3.5双方对弈情况第四章服务器与客户端的设计与实现4.1服务器和客户端通信机制4.2多线程机制4.3传递信息4.4客户端界面设计4.5连接服务器4

2、.6判断输赢算法第五章课程设计总结第三章原理分析3.1服务器和客户端通信机制P318最下面的文字,p319最下面的文字Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。在java中使用套接字相当简单,JavaAPI为处理套接字的通信提供了一个类java.net.Socket。使得编写网络应用程序相对容易。JAVA支持流套接字(streamsocket)和数据

3、报套接字(datagramsocket)。流套接字使用TCP(传输控制协议)进行数据传输,而数据报套接字使用UDP(用户数据报协议)。在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关键的方法,一个是getInputStream方法,另一个是getOutputStream方法。getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到的输入流其实就是从服务器端发回的数据流。GetOutputStream方法得到一个输出流,客户端Socket对象上的getOutputStream方法返回

4、的输出流就是将要发送到服务器端的数据流,(其实是一个缓冲区,暂时存储将要发送过去的数据)。客户端启动以后,与服务器连接,服务器会启动一个线程来与客户进行文字交流。要完成这个工作,需要完成三个部分的工作:Java中有一个专门用来建立Socket服务器的类,名叫ServerSocket,可以用服务器需要使用的端口号作为参数来创建服务器对象。ServerSocketserver=newServerSocket(4331);这条语句创建了一个服务器对象,这个服务器使用4331号端口。当一个客户端程序建立一个Socket连接,所连接的端口号为4331时,服务器对象server便响应这个连

5、接,并且server.accept()方法会创建一个Socket对象。服务器端便可以利用这个Socket对象与客户进行通讯。Socketsocket=server.accept();进而得到输入流和输出流,并进行封装。reader=newBufferedReader(newInputStreamReader(socket.getInputStream()));writer=newPrintWriter(socket.getOutputStream(),true);随后,就可以使用reader.readLine()方法得到客户端的输入,也可以使用writer.println()方

6、法向客户端发送数据。从而可以根据程序的需要对客户端的不同请求进行回应。在所有通讯结束以后应该关闭这两个数据流,关闭的顺序是先关闭输出流,再关闭输入流,即使用reader.close();writer.close();相比服务器端,客户端要简单一些,客户端只需用服务器所在机器的ip以及服务器的端口作为参数创建一个Socket对象。得到这个对象后,就可以用"建立服务器"部分介绍的方法实现数据的输入和输出。3.2多线程机制P277红括号括起来的内容创建新线程必须编写一个线程类,用Java编写多线程代码有两种方式l直接继承Java的线程类Thread;l实现Runnable接口无论采用

7、哪种方式均需要在程序中编写Run()方法,线程在运行时要完成的任务在该方法实现。Thread类封装了线程的行为。继承Thread类须重写run()方法实现各自的任务。程序中不要直接调用线程的run()方法,而是调用start()方法启动线程,让其进入可调度的状态,线程获得调度时将自动执行run()方法。简单介绍单继承P102

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。