📄 socketthread.java
字号:
/**
* @(#)SocketThread.java
*
*
* @author
* @version 1.00 2008/4/22
*/
//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){
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.setEnableMenuItems();
}
}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 + -