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

📄 socketthread.java

📁 Java五子棋编程
💻 JAVA
字号:
//SocktThread.java
          																			    			  	 	 	 	   	     		 package fivechess;
          																			    			  	 	 	 	   	     		      	import java.net.*;
          																			    			  	 	 	 	   	     		      	import java.io.*;
          																			    			  	 	 	 	   	     		      	import javax.swing.*;
          																			    			  	 	 	 	   	     		      	
          																			    			  	 	 	 	   	     		      	public class SocketThread extends Thread{
          																			    			  	 	 	 	   	     		      		private ChessFrame cf;
          																			    			  	 	 	 	   	     		      		private MainPanel mp;
          																			    			  	 	 	 	   	     		      		private boolean isRun=true;
          																			    			  	 	 	 	   	     		      		private byte message[]=new byte[2];
          																			    			  	 	 	 	   	     		      		private InputStream socketin;
          																			    			  	 	 	 	   	     		      		private OutputStream socketout;
          																			    			  	 	 	 	   	     		      		private Socket socket;
          																			    			  	 	 	 	   	     		      		private boolean isDistDisconn=false;
          																			    			  	 	 	 	   	     		      		
          																			    			  	 	 	 	   	     		      		public SocketThread(ChessFrame cframe,MainPanel mpanel){
          																			    			  	 	 	 	   	     		      			this.cf=cframe;
          																			    			  	 	 	 	   	     		      			this.mp=mpanel;
          																			    			  	 	 	 	   	     		      			this.socketin=cframe.getin();
          																			    			  	 	 	 	   	     		      			this.socketout=cframe.getout();
          																			    			  	 	 	 	   	     		      			this.socket=cframe.getsocket();
          																			    			  	 	 	 	   	     		      		}
          																			    			  	 	 	 	   	     		      		public void run(){
          																			    			  	 	 	 	   	     		      			while(isRun){
          																			    			  	 	 	 	   	     		      				try{
          																			    			  	 	 	 	   	     		      					if((socketin.read(message))==2)
          																			    			  	 	 	 	   	     		      					{
          																			    			  	 	 	 	   	     		      						if(message[0]==-1){
          																			    			  	 	 	 	   	     		      							if(message[1]==-1)
          																			    			  	 	 	 	   	     		      							StopRun();
          																			    			  	 	 	 	   	     		      							isDistDisconn=true;
          																			    			  	 	 	 	   	     		      						}
          																			    			  	 	 	 	   	     		      						if(message[1]==0){
          																			    			  	 	 	 	   	     		      						
          																			    			  	 	 	 	   	     		      						System.out.println("收到开局信息>>>>>>>>>");
          																			    			  	 	 	 	   	     		      						if(ChessFrame.isserver)
          																			    			  	 	 	 	   	     		      						ChessFrame.istoken=true;
          																			    			  	 	 	 	   	     		      						
          																			    			  	 	 	 	   	     		      						else
          																			    			  	 	 	 	   	     		      						ChessFrame.istoken=false;
          																			    			  	 	 	 	   	     		      						JOptionPane.showMessageDialog(cf,"对方开新局","新局",JOptionPane.INFORMATION_MESSAGE);
          																			    			  	 	 	 	   	     		      						cf.restart();
          																			    			  	 	 	 	   	     		      					}
          																			    			  	 	 	 	   	     		      				}
          																			    			  	 	 	 	   	     		      				else
          																			    			  	 	 	 	   	     		      				mp.messageUpdate(message[0],message[1]);
          																			    			  	 	 	 	   	     		      			}
          																			    			  	 	 	 	   	     		      		catch(IOException e)
          																			    			  	 	 	 	   	     		      		{
          																			    			  	 	 	 	   	     		      			System.out.println(e);
          																			    			  	 	 	 	   	     		      		}
          																			    			  	 	 	 	   	     		      	}
          																			    			  	 	 	 	   	     		      	try{
          																			    			  	 	 	 	   	     		      		socketin.close();
          																			    			  	 	 	 	   	     		      		socketout.close();
          																			    			  	 	 	 	   	     		      		socket.close();
          																			    			  	 	 	 	   	     		      		ChessFrame.isnet=false;
          																			    			  	 	 	 	   	     		      		if(isDistDisconn){
          																			    			  	 	 	 	   	     		      			JOptionPane.showMessageDialog(cf,"连接中断",
          																			    			  	 	 	 	   	     		      			"网络中断",JOptionPane.ERROR_MESSAGE);
          																			    			  	 	 	 	   	     		      			cf.setEnabledMenuItems();
          																			    			  	 	 	 	   	     		      		}
          																			    			  	 	 	 	   	     		      	}catch(IOException e)
          																			    			  	 	 	 	   	     		      	{
          																			    			  	 	 	 	   	     		      		System.out.println(e);
          																			    			  	 	 	 	   	     		      	}
          																			    			  	 	 	 	   	     		      }
          																			    			  	 	 	 	   	     		      public boolean getStatus(){
          																			    			  	 	 	 	   	     		      	return isRun;
          																			    			  	 	 	 	   	     		      }
          																			    			  	 	 	 	   	     		      public void StopRun(){
          																			    			  	 	 	 	   	     		      	isRun=false;
          																			    			  	 	 	 	   	     		      }
          																			    			  	 	 	 	   	     		    
          																			    			  	 	 	 	   	     		    }
          																			    			  	 	 	 	   	     		    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -