⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chessserver.java

📁 <Java编程精选集锦>随书源码
💻 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 + -