?? chessserver.java
字號:
import java.awt.*;
import java.net.*;
import java.io.*;
import chessArray;
//
// chessServer
//
public class chessServer extends Dialog implements Runnable
{
Thread thread;
ServerSocket server=null;
Socket socket;
OutputStream outS;
InputStream inS;
Label lb=new Label ("正在等待挑戰者......");
public chessServer(Frame frbak)
{
super(frbak,"等待連接",false);
setBackground(Color.cyan);
int width=300;
int height=70;
thread=new Thread(this);
setFont(new Font("chequer",Font.BOLD,26));
this.add("Center",lb);
setBounds(chessArray.offsize.width/2-width/2,chessArray.offsize.height/2-height/2,width,height);
show();
}
public synchronized void run()
{
try{
server=new ServerSocket(1666);
}catch(IOException e){
System.out.println(e);
return ;
}
while(true)
{
try{
socket=server.accept ();
this.setVisible (false);
chessArray.change =true;
chessArray.information("網絡連接成功,您可以走棋了");
outS=socket.getOutputStream ();
inS=socket.getInputStream ();
}catch(IOException e){
chessArray.information("網絡連接有誤,對家可能已退出");
System.out.println(e);
}
while(true)
try{
if(chessArray.readyOut )
{
outS.write (chessArray.changeCount1 );
outS.write (chessArray.changeCount2 );
if(chessArray.changeCount1 !=254){
chessArray.information("等待對家走棋......");
chessArray.readyIn=true;
}else{
chessArray.information("已告訴對家,可以走棋了");
chessArray.change=true;
chessArray.readyIn=false;
}
chessArray.readyOut=false;//數據已發送
}else if(chessArray.readyIn )
{
chessArray.changeCount1=inS.read ();
System.out.println(chessArray.changeCount1);
chessArray.changeCount2=inS.read();
if(chessArray.changeCount1==254)
{
chessArray.information("對家已選擇重下,若同意,請走棋");
chessArray.startInf("走棋");
chessArray.endInf ("落子");
chessArray.changeCount1=-1;
chessArray.chA(chessArray.arrayBak);
chessArray.repaint=true;
chessArray.change=true;
chessArray.readyIn=false;
// chessArray.netChange =false;
// chessArray.readyOut=false;//數據已發送
}else
{
chessArray.readyIn=false;
chessArray.netChange =true;
}
try{
thread.sleep(1000);
}catch(InterruptedException e)
{ };
}
}catch(IOException e){
chessArray.information("網絡連接有誤,對家可能已退出");
}
}
}
public void start()
{
thread.start();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -