亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commandstransactor.java

?? 手機游戲對戰平臺。自己做的一個東東。 支持多個手機聯網打游戲;采用socket鏈接通信。 平臺:J2ME&JAVA
?? JAVA
字號:
package control;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import DBconnectionPool.SimpleConnection;

import model.Commands;
import model.PlatformState;

/**
 * receive client's commands and send response
 * 
 * @author sheng
 * 
 */
public class CommandsTransactor implements Runnable {
	SimpleConnection con;
	DataInputStream is;
	DataOutputStream os;
	Socket clientsocket;
        private String userAccount;
        
	public CommandsTransactor(Socket clientsocket) {
		this.clientsocket = clientsocket;
	}
        
public void openStream(){

    		try {
			is = new DataInputStream(clientsocket.getInputStream());
			os = new DataOutputStream(clientsocket.getOutputStream());
		} catch (IOException e) {
			System.out.println("error happen in init CommandsTransactor");
			e.printStackTrace();
		}

}
	public void start() {
		Thread t = new Thread(this);
		t.start();
	}
	public void run() {
            
            openStream();
		con = new SimpleConnection();
                while(true) {
		try {
                    int command = is.readInt();
                    switch (command) {
                        case Commands.SetRecord: {
                            setRecord();
                            break;
                        }
                        case Commands.GetUserInfo:
                            getUserInfo();
                            break;

                        case Commands.EnterPlatformAndGetGamesInfo: {
                            enterPlatformAndGetGamesInfo();
                            break;
                        }
                        case Commands.EnterGameAndGetRoomsInfo:
                            enterGameAndGetRoomsInfo();
                            break;
                        case Commands.EnterRoomAndGetOtheruser:
                            enterRoomAndGetOtheruser();
                            break;
                        case Commands.Register:
                            register();
                            break;
                        case Commands.GetRecord:
                            getRecord();
                            break;
                        case Commands.GetUserState:
                            getUserState();
                            break;
                        case Commands.SetReady:
                            setReady();
                            break;
                        case Commands.GetJarPort:
                            getJarPort();
                            break;
                        case Commands.RemoveJarPort:
                            removeJarPort();
                            break;
                        case Commands.GetRoomPlayersState:
                            getRoomPlayersStates();
                            break;
                        case Commands.ExitToRoomSelecting:
                            exitToRoomSelecting();
                            break;
                        case Commands.ExitToGameSelecting:
                            exitToGameSelecting();
                            break;
                        case Commands.Logout:
                            logout();
                            break;
                        default:
                            System.out.println("error command");
                            break;
			}
		} catch (Exception e) {
			System.out.println("error happen in CommandsTransactor's run(): "+e);
                        stop();
                        break;
		} 
                }
	
        }

    private void getRoomPlayersStates() throws IOException {
        int gameIndex=is.readInt();
        int roomIndex=is.readInt();
        PlatformState ps = new PlatformState();
        String []result=ps.getRoomPlayersStates(gameIndex,roomIndex);
        if(result==null||result.length==0){
            os.writeInt(0);
            return;
        }
        os.writeInt(result.length);
        for(int i=0;i<result.length;i++)os.writeUTF(result[i]);
    }

	private void setReady() throws IOException {
		String userAccount1 = is.readUTF();                
		int isready = is.readInt();
		PlatformState ps = new PlatformState();
		int result = ps.setReady(userAccount1, isready);
		os.writeInt(result);
	}

	private void getUserState() throws IOException {
		String userAccount = is.readUTF();
		PlatformState ps = new PlatformState();
		int[] result = ps.getUserState(userAccount);
		os.writeInt(result.length);
		for (int i = 0; i < result.length; i++) {
			os.writeInt(result[i]);
		}
	}

	private void enterRoomAndGetOtheruser() throws IOException {
		String userAccount = is.readUTF();
		int gameIndex = is.readInt();
		int roomIndex = is.readInt();
		PlatformState ps = new PlatformState();
		String[] otherUser = ps.enterRoomAndGetOtheruser(userAccount, gameIndex,
				roomIndex);
		int len;
                if(otherUser==null)len=0;else len=otherUser.length;
                os.writeInt(len);
		for (int i = 0; i < len; i++)
			os.writeUTF(otherUser[i]);
	}
        
        private void exitToRoomSelecting() throws IOException {
            String userAccount=is.readUTF();
            PlatformState ps=new PlatformState();
            ps.exitToRoomSelecting(userAccount);
        }
        
        private void exitToGameSelecting() throws IOException{
            String userAccount=is.readUTF();
            PlatformState ps=new PlatformState();
            ps.exitToGameSelecting(userAccount);
        }
        
        private void logout() throws IOException {
            String userAccount=is.readUTF();
            PlatformState ps=new PlatformState();
            ps.logout(userAccount);
        }

	private void enterGameAndGetRoomsInfo() throws IOException {
		String userAccount = is.readUTF();
		int gameIndex = is.readInt();
		PlatformState ps = new PlatformState();
		int[] result = ps.enterGameAndGetRomInfo(userAccount, gameIndex);
		os.writeInt(result.length);
		for (int i = 0; i < result.length; i++)
			os.writeInt(result[i]);
	}

	private void enterPlatformAndGetGamesInfo() throws IOException {
		String userAccount1 = is.readUTF();
                this.userAccount=userAccount1;
		PlatformState ps = new PlatformState();
		int[] result = ps.enterPlatformAndGetGamesInfo(userAccount1);
		os.writeInt(result.length);
		for (int i = 0; i < result.length; i++)
			os.writeInt(result[i]);
	}

	/**
	 * register
	 * 
	 * @throws IOException
	 */
	private void register() throws IOException {
		String userAccount = is.readUTF().trim();
		String passWord = is.readUTF().trim();
		String nickName = is.readUTF().trim();
		String eMail = is.readUTF().trim();
		String qq = is.readUTF().trim();

		try {
			Statement sm = con.getConnection().createStatement();
			String sql = "insert into mb_UserBaseInfo(vc_UserAccount, vc_PassWord,vc_NickName,vc_EMail,vc_QQ)values('"
					+ userAccount
					+ "','"
					+ passWord
					+ "','"
					+ nickName
					+ "','"
					+ eMail + "','" + qq + "');";
                        System.out.println(""+sql);
                        int result = sm.executeUpdate(sql);
			for (int i = 0; i < PlatformState.GameCount; i++) {
				String sql2 = "insert into mb_GameInfo(vc_UserAccount, int_GameType, int_Grade, int_Counts, int_WinCounts) values('"
						+ userAccount + "'," + i + ",10,0,0)";
				sm.executeUpdate(sql2);
			}
			
			os.writeInt(result);
		} catch (SQLException e) {
			e.printStackTrace();
			os.writeInt(-1);
		} finally {
			//con.release();
		}
	}

	/**
	 * get user base Info
	 * 
	 * @throws IOException
	 */
	private void getUserInfo() throws IOException {
		String userAccount = is.readUTF().trim();
		try {
			Statement sm = con.getConnection().createStatement();
			String sql = "select * from mb_UserBaseInfo where vc_UserAccount = \""
					+ userAccount + "\"";
			ResultSet result = sm.executeQuery(sql);
			result.next();
			os.writeUTF(result.getString(2));//password
			os.writeUTF(result.getString(3));// NickName
			os.writeUTF(result.getString(4));// EMail
			os.writeUTF(result.getString(5));// QQ
		} catch (SQLException e) {
			os.writeUTF("");
			os.writeUTF("");
			os.writeUTF("");
			os.writeUTF("");
		} finally {
			//con.release();
		}
		return;
	}

	/**
	 * set the record
	 * 
	 * @throws IOException
	 */
	private void setRecord() throws IOException {
		String userAccount = is.readUTF().trim();
		int gameType = is.readInt();
		int record = is.readInt();
		int isWinner = is.readInt();// 1 is winner,0 is loser
		try {
			Statement sm = con.getConnection().createStatement();
			String sql = "Update mb_GameInfo set int_Counts=int_Counts+1,"
					+ "int_Grade=int_Grade+" + record
					+ " ,int_WinCounts=int_WinCounts+" + isWinner
					+ " where vc_UserAccount='" + userAccount
					+ "'and int_GameType=" + gameType;
			int result = sm.executeUpdate(sql);
			os.writeInt(result);
		} catch (SQLException e) {
			e.printStackTrace();
			os.writeInt(-1);
		} finally {
			//con.release();
		}
	}

	/**
	 * get user record
	 * 
	 * @throws IOException
	 */
	private void getRecord() throws IOException {
		String userAccount = is.readUTF().trim();
		int gameType = is.readInt();
		try {
			Statement sm = con.getConnection().createStatement();
			String sql = "select * from mb_GameInfo where vc_UserAccount='"
					+ userAccount + "'and " + "int_gameType=" + gameType;
			ResultSet result = sm.executeQuery(sql);
			int grade=-1,counts=-1,wincounts=-1;
			while(result.next()){
			result.getString(1);
			result.getString(2);
			grade=result.getInt(3);// grade
			counts=result.getInt(4);// counts
			wincounts=result.getInt(5);// win counts
			}
			os.writeInt(grade);
			os.writeInt(counts);
			os.writeInt(wincounts);
		} catch (SQLException e) {
			e.printStackTrace();
			os.writeInt(-1);
			os.writeInt(-1);
			os.writeInt(-1);
		} finally {
			//con.release();
		}
	}

	private void getJarPort() throws IOException {
		int gameIndex = is.readInt();
                int roomIndex=is.readInt();
                PlatformState ps = new PlatformState();
		int result = ps.getJarPort(gameIndex,roomIndex);
		os.writeInt(result);
		System.out.println("getJarport:"+result+" success");
	}

        private void removeJarPort() throws IOException {
		
		int gameIndex=is.readInt();
		int roomIndex=is.readInt();
		PlatformState ps = new PlatformState();
		int result = ps.removeJarPort(gameIndex, roomIndex);
		os.writeInt(result);
		System.out.println("removeJarPort success");
	}

	/**
	 * Close all open streams
	 */
	public void stop() {
		try {
			if (is != null) {
				is.close();
				is=null;
			}

			if (os != null) {
				os.close();
				os=null;
			}
			if(clientsocket!=null){
				clientsocket.close();
				clientsocket=null;
			}
                        PlatformState ps=new PlatformState();
                        ps.logout(userAccount);
		} catch (IOException ioe) {
			System.out.println("CommandsTransactor stop() error!");
		}
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本视频一区二区三区| 国产一区美女在线| 日日摸夜夜添夜夜添精品视频 | 欧美日韩国产不卡| 国产日韩精品视频一区| 欧美xxx久久| 亚洲国产日韩综合久久精品| 久久精品国产在热久久| 成人性生交大片免费看视频在线| 色婷婷综合久久久久中文| 在线不卡中文字幕| 欧美国产日韩a欧美在线观看| 亚洲男同性视频| 蜜桃一区二区三区在线观看| 成人晚上爱看视频| 欧美日韩高清一区二区不卡| 26uuu国产一区二区三区| 椎名由奈av一区二区三区| 丝袜亚洲另类欧美| 色综合久久中文字幕综合网| 亚洲国产精品传媒在线观看| 精品一区二区国语对白| 欧美一区二区三区在线| 天天av天天翘天天综合网色鬼国产 | 国产欧美日本一区视频| 蜜桃视频在线观看一区| 欧美肥妇bbw| 视频一区在线视频| 欧美三级中文字| 亚洲成精国产精品女| 91黄色在线观看| 一区二区三区中文字幕在线观看| 成人sese在线| 中文字幕一区二区三区在线播放 | 亚洲欧美二区三区| hitomi一区二区三区精品| 久久精品人人爽人人爽| 国产精选一区二区三区| www国产亚洲精品久久麻豆| 激情深爱一区二区| 久久亚洲捆绑美女| 国产不卡一区视频| ...xxx性欧美| 欧美中文字幕一区| 亚洲天堂精品在线观看| 91免费观看在线| 一区二区三区**美女毛片| www.性欧美| 亚洲欧洲综合另类| 欧美色男人天堂| 免费亚洲电影在线| 欧美国产一区在线| 91丨porny丨最新| 亚洲主播在线播放| 91麻豆精品久久久久蜜臀| 免费高清在线一区| 欧美国产日产图区| 在线观看视频一区二区| 毛片一区二区三区| 中文字幕高清不卡| 欧美影视一区在线| 国产一区二区在线视频| 国产精品久久福利| 91精品国产综合久久精品图片| 蜜桃久久久久久| 国产精品高潮呻吟| 91精品国产91热久久久做人人| 国产一区二区在线电影| 亚洲视频狠狠干| 欧美xingq一区二区| av在线不卡免费看| 日本不卡的三区四区五区| 国产日韩欧美一区二区三区乱码 | 在线视频你懂得一区二区三区| 五月天国产精品| 国产欧美久久久精品影院 | 成人一级片在线观看| 亚洲线精品一区二区三区| 精品sm捆绑视频| 在线亚洲精品福利网址导航| 国产一区视频导航| 日本不卡一二三区黄网| 1000部国产精品成人观看| 日韩写真欧美这视频| 色综合欧美在线| 国产精品一区久久久久| 亚洲第四色夜色| 亚洲欧洲成人精品av97| 精品国产在天天线2019| 欧美国产乱子伦| 欧美一二三四在线| 欧美日韩一区二区三区在线 | 精品国产一区二区三区久久影院 | 91精品婷婷国产综合久久性色| 波多野结衣在线一区| 天堂一区二区在线免费观看| 久久久五月婷婷| 色综合久久九月婷婷色综合| 国产成人自拍在线| 狠狠色综合色综合网络| 午夜精彩视频在线观看不卡| 亚洲人xxxx| 综合久久久久久久| 亚洲国产精品成人综合 | 激情成人午夜视频| 理论片日本一区| 热久久一区二区| 亚洲国产精品人人做人人爽| 国产一区二三区| 91福利资源站| 91国产丝袜在线播放| 成人av资源下载| 99久久精品情趣| av中文一区二区三区| 成人激情图片网| www.性欧美| 一本一道久久a久久精品| av午夜精品一区二区三区| 成人午夜视频福利| 成人在线综合网| 粉嫩久久99精品久久久久久夜| 韩国欧美一区二区| 国产精品亚洲一区二区三区在线| 精品一区二区三区视频在线观看| 毛片不卡一区二区| 国产在线一区观看| 国产成人一区在线| 99久久精品免费看国产| 日本黄色一区二区| 中文字幕日韩欧美一区二区三区| 中文字幕成人网| 亚洲欧美日韩中文播放| 亚洲中国最大av网站| 天天综合日日夜夜精品| 麻豆成人久久精品二区三区红 | 欧美亚洲禁片免费| 欧美精品久久一区二区三区| 欧美一卡二卡三卡| 国产日韩欧美一区二区三区乱码| 日本一二三四高清不卡| 亚洲精品高清在线| 日韩国产精品久久| 国产福利不卡视频| 91老师片黄在线观看| 欧美日韩国产综合草草| 日韩免费福利电影在线观看| 久久女同互慰一区二区三区| 中文字幕第一区第二区| 一区二区三区欧美视频| 老司机免费视频一区二区三区| 国产iv一区二区三区| 欧美中文字幕不卡| 日韩免费观看高清完整版| 中文字幕一区二区三区乱码在线| 亚洲午夜免费电影| 国产在线精品一区二区| 91碰在线视频| 欧美成人a∨高清免费观看| 国产精品久久久久久久久搜平片| 洋洋成人永久网站入口| 狠狠色狠狠色综合| 欧美主播一区二区三区美女| 久久久久国色av免费看影院| 一区二区三区不卡视频在线观看| 精品制服美女丁香| 色婷婷国产精品综合在线观看| 日韩欧美国产综合| 亚洲欧美另类在线| 国产乱码精品一区二区三区五月婷| 色婷婷精品久久二区二区蜜臂av | 国产精品午夜久久| 日本亚洲一区二区| 色综合久久中文综合久久97| 久久伊人中文字幕| 日韩精品免费专区| 91视频www| 中文字幕一区二区三区视频| 精品一区二区精品| 欧美一区二区三区免费大片| 一区二区三区精品视频| 成人高清在线视频| 国产欧美日韩一区二区三区在线观看| 无码av免费一区二区三区试看| 91免费版pro下载短视频| 国产日韩影视精品| 国精产品一区一区三区mba视频| 精品视频999| 亚洲电影欧美电影有声小说| 99re这里只有精品首页| 国产精品区一区二区三区 | 人人爽香蕉精品| 欧美日韩免费一区二区三区| 亚洲视频中文字幕| 99久久精品国产毛片| 国产精品视频你懂的| 粉嫩aⅴ一区二区三区四区五区| 久久久亚洲精品一区二区三区| 欧美视频一区二区三区在线观看| 中文字幕在线一区二区三区| 国产成人av电影在线播放|