gamethread.java

来自「一个CS模式的网络五子棋游戏,用JAVA写的,源码版式不好,也共享出来,希望大家」· Java 代码 · 共 83 行

JAVA
83
字号
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;


public class GameThread extends Thread
{
//	网路部分
	private ServerSocket srvsock = null;
	private Socket clisock = null;
	private DataInputStream in = null;
	private DataOutputStream out = null;
	int port = 6000;
	byte in_data = 5;
	byte out_data = 5;
	
	/*
	 * 3=连接
	 * 4=开始
	 * 5=结束
	 */
	private void SrvProc() throws IOException
	{
		try
		{
			srvsock = new ServerSocket(port);
			clisock = srvsock.accept();
			//开始按钮允许相应
			GameControler.addStartBtnListener();
			GameControler.showStateInfo("与对方连接成功!");
			in = new DataInputStream(clisock.getInputStream());
			out = new DataOutputStream(clisock.getOutputStream());
			//发送连接信息到客户端
			out.write((byte)GameState.CONNECT);
			//如果还没结束,继续
			while((in_data = in.readByte()) != GameState.END)
			{
				//处理数据
				GameControler.doProc(in_data);
			}
		}catch(IOException e)
		{
			System.out.println("ERROR: "+e);
		}
		finally
		{
			srvsock.close();
			clisock.close();
			in.close();
			out.close();
		}
	}
	
	public void run()
	{
		try
		{
			SrvProc();
		}catch(IOException e)
		{
			System.out.println("ERROR: "+e);
		}
	}
	
	public void writeData(byte data)
	{
		try
		{
			out.write((byte)data);
		}catch(IOException e)
		{
			System.out.println("ERROR: "+e);
		}
	}
	
	public GameThread()
	{
		GameControler.getThreadInstance(this);
	}
}

⌨️ 快捷键说明

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