?? netgame.java
字號:
package game;
import java.net.*;
import java.io.*;
/**
* <p>Title: 五子棋</p>
*
* <p>Description: 五子棋游戲</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: David Company</p>
*
* @author David
* @version 1.0
*/
public class NetGame {
String states;
ServerSocket server;
Socket socket;
PrintWriter oWriter;
BufferedReader oReader;
int selectNet=0; //0 - 沒有指定; 2 - server 3 - client
public NetGame() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
states="";
}
//設置網絡角色,//得到當前狀態是 1、服務器 2、客戶端
public void setSelectNet(int i){
this.selectNet=i;
}
public int getSelectNet(){
return selectNet;
}
//設置狀態 、 得到狀態
public void setStates(String str) {
this.states=str;
}
public String getStates() {
return this.states;
}
public boolean serverListen(int port){
try{
server = new ServerSocket(port);
int localPort = server.getLocalPort();
this.states= "Client should connect to port "+ localPort;
return true;
}catch(Exception e){
this.states="Wrong." + e.getMessage();
return false;
}
}
public boolean serverAccept() {
try{
socket = server.accept();
states = "Client " + socket.getInetAddress().getHostName() + " is accepted." + "\n";
return true;
}catch(Exception e){
this.states="Wrong." + e.getMessage();
return false;
}
}
public boolean send(String str){
try{
/* 以下是使用 writeObject 做法,可是出現NotSerializableException異常,無法繼續
oWriter = new ObjectOutputStream(socket.getOutputStream());
oWriter.writeObject(netinfo);
oWriter.flush();
*/
oWriter=new PrintWriter(socket.getOutputStream());
oWriter.write(str + "\n");
oWriter.flush();
return true;
}catch(Exception e){
System.out.println("wrong" + e.toString());
return false;
}
}
public String receive(){
try{
String str=new String();
/* 以下是使用 writeObject 做法,可是出現NotSerializableException異常,無法繼續
oReader = new ObjectInputStream(socket.getInputStream());
netinfo=(NetInfo)oReader.readObject();
System.out.println("receive--> " + netinfo.getX());
*/
oReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
str=oReader.readLine();
return str;
}catch(Exception e){
System.out.println("wrong" + e.toString());
return "null";
}
}
/*
public boolean openServer(int port) {
try {
BufferedReader bufReader = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter prtWriter = new PrintWriter(client.getOutputStream());
System.out.println("Client port " + client.getPort());
prtWriter.println(" Welcome! You can say a line of words before disconnect.");
prtWriter.flush();
System.out.println("Greeting message has been sent.");
System.out.println("Client says:");
System.out.println(bufReader.readLine());
prtWriter.println("Bye.");
prtWriter.flush();
bufReader.close();
prtWriter.close();
} catch (IOException ex) {
System.out.println("IO exception occured!");
return false;
}
return true;
}
*/
public boolean clientLink(String theServer,int port) {
try{
socket = new Socket(theServer,port);
states=" Destination - " + socket.getInetAddress().getHostName() + "\n";
states= states + "Local port - " + socket.getLocalPort() + "\n";
return true;
}catch(Exception e){
System.out.println("wrong" + e.toString());
return false;
}
}
/*
public boolean clientSend(String str) {
try{
prtWriter = new PrintWriter(clientSocket.getOutputStream());
prtWriter.println(str);
prtWriter.flush();
//prtWriter.close();
return true;
}catch(Exception e){
this.states="Wrong." + e.getMessage();
return false;
}
}
public boolean clientReceive(){
try{
bufReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
states=bufReader.readLine();
if (states=="") states=" Null ";
// bufReader.close();
return true;
}catch(Exception e){
this.states="Wrong." + e.getMessage();
return false;
}
}
*/
/*
public boolean openClient(String theServer,int port) {
try {
// BufferedReader kbdReader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader bufReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
System.out.println(bufReader.readLine());
System.out.println("Server Says: " + bufReader.readLine());
System.out.println("Disconnect");
clientSocket.close();
} catch (UnknownHostException ex) {
System.out.println("Cannot connect destination host.");
} catch (IOException ex) {
System.out.println("IO exception occured.");
}
return true;
}
*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -