知识大全 Java多线程Socket操作猜数游戏样例
Posted 知
篇首语:人生处万类,知识最为贤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java多线程Socket操作猜数游戏样例相关的知识,希望对你有一定的参考价值。
Java多线程Socket操作猜数游戏样例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
服务器端程序 接受连接并处理客户端的请求 ServerApp java package test; import java io *; import *; /** *//** * 服务器端程序 * * @author luxuan 修正赵学庆 * */ public class ServerApp static final int PORT = ; private ServerSocket serverSocket; private Socket socket; private BufferedReader netIn; private PrintWriter netOut; public ServerApp() throws IOException serverSocket = new ServerSocket(PORT); System out println( server start ); while (true) // 等待连接 socket = serverSocket accept(); ServerThread st = new ServerThread(socket); new Thread(st) start(); class ServerThread implements Runnable private Socket socket; private int randomNumber; private int clientGuessNumber; public ServerThread(Socket s) throws IOException socket = s; netIn = new BufferedReader(new InputStreamReader(socket getInputStream())); netOut = new PrintWriter(socket getOutputStream()); public void run() System out println( client + socket getInetAddress() + is connect ); randomNumber = (int) (Math random() * ); System out println( random number is: + randomNumber); try clientGuessNumber = Integer parseInt(netIn readLine()); System out println( client guess number is: + clientGuessNumber); for (int i = ; i > ; i ) if (clientGuessNumber == randomNumber) netOut println( OK 恭喜 猜对了 ); ClientApp finished = true; else if (clientGuessNumber < randomNumber) netOut println( 您猜的数小了 您还有 + (i ) + 次机会 ); ClientApp finished = false; else if (clientGuessNumber > randomNumber) netOut println( 您猜的数大了 您还有 + (i ) + 次机会 ); ClientApp finished = false; netOut flush(); if (!ClientApp finished) clientGuessNumber = Integer parseInt(netIn readLine()); else break; if (!ClientApp finished) netOut println( OK 您没有机会了 游戏结束 ); ClientApp finished = true; catch (IOException e) finally try netOut close(); netIn close(); socket close(); catch (IOException ee) public static void main(String[] args) throws IOException new ServerApp(); 客户端程序 发送每次猜的数字 package test; import java io *; import *; public class ClientApp private Socket socket; private BufferedReader netIn; private PrintWriter netOut; private BufferedReader keyboardIn; static Boolean finished = false; public ClientApp() throws IOException System out println( 请输入服务器地址 连接本地服务器请输入localhost ); keyboardIn = new BufferedReader(new InputStreamReader(System in)); try if (keyboardIn readLine() equalsIgnoreCase( localhost )) socket = new Socket(InetAddress getLocalHost() ServerApp PORT); else socket = new Socket(InetAddress getByName(keyboardIn readLine()) ServerApp PORT); netIn = new BufferedReader(new InputStreamReader(socket getInputStream())); netOut = new PrintWriter(socket getOutputStream()); catch (UnknownHostException e) System err println( 连接不到服务器 ); System exit( ); System out println( 连接成功 ); while (!finished) System out println( 请输入 - 之间的数字 ); netOut println(keyboardIn readLine()); netOut flush(); String str = netIn readLine(); if (str == null) finished = true; break; System out println(str); if (str startsWith( OK )) finished = true; break; netIn close(); netOut close(); keyboardIn close(); socket close(); public static void main(String[] args) throws IOException new ClientApp(); 运行结果
cha138/Article/program/Java/gj/201311/27387相关参考
Java多线程Socket操作猜数游戏样例[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
JavaSocket多线程服务端、客户端 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! //主方
知识大全 Java Socket 编程——多线程网络聊天程序
JavaSocket编程——多线程网络聊天程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用
JavaSocket多线程如何支持服务器模型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Ja
网上参考别人的例子改自己的程序终于搞明白了原来在socket的服务器端设置线程并不是像之前想的那样建立一个连接后就重新开一个端口去监听这样的想法遇到了很多问题首先当我把客户端弄成for循环递增的链
JavaSocket线程的设计原理介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JavaS
知识大全 Java Socket通信技术收发线程互斥的解决方法
JavaSocket通信技术收发线程互斥的解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java多线程操作相关问题总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
一般服务器端代码每次收到一个线程一个client就会产生 /************************开始监听**************************/ intport=;
C#实现的多线程异步Socket数据包接收器 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 几天