📄 gameclient.java
字号:
/* * * Copyright (c) 2007, Sun Microsystems, Inc. * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of Sun Microsystems nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */package clientInf;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import javax.microedition.io.Connector;import javax.microedition.io.SocketConnection;import model.INFO;public class GameClient implements Runnable{ Serializable message; DataInputStream is; DataOutputStream os; SocketConnection sc; Sender sender; String serverIP; ClientInterface clientinf; int port; private boolean ready=false; public boolean isReady() { return ready; } public GameClient(String serverIP,int p,Serializable message,ClientInterface clientinf) { ready=false; port = p; if(serverIP==null||serverIP.equals(""))this.serverIP="localhost";else this.serverIP=serverIP; this.message=message; this.clientinf=clientinf; start(); } /** * Start the client thread */ public void start() { Thread t = new Thread(this); t.start(); } public synchronized void run() { String portString = String.valueOf(port); try { sc = (SocketConnection) Connector.open("socket://" + serverIP + ":" + portString); is = new DataInputStream(sc.openInputStream()); os = new DataOutputStream(sc.openOutputStream()); os.writeUTF(INFO.userAccount); sender = new Sender(os); clientinf.getSender(sender); ready=true; while (true) { message.deserialize(is); clientinf.receiveMessage(message); } } catch (IOException ioe) { System.out.println("caught in Gameclient's run: " + ioe); stop(); } //stop(); } /** * Close all open streams */ public void stop() { try { if (sender != null) { sender.stop(); } if (is != null) { is.close(); } if (os != null) { os.close(); } if (sc != null) { sc.close(); } } catch (IOException ioe) { } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -