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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? regmodel.java

?? 游戲說(shuō)明
?? JAVA
字號(hào):
package com.tianxia.qipai.model.universal;

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;
import com.tianxia.qipai.event.MainGameEvent;
import com.tianxia.qipai.model.socket.SocketInterface;
import com.tianxia.qipai.model.socket.SocketManager;
import com.tianxia.qipai.model.util.CommStructNode;
import com.tianxia.qipai.model.util.MudleDefine;
import com.tianxia.qipai.model.util.StringTokenizer;
import com.tianxia.qipai.view.universal.RegView;
import com.tianxia.qipai.event.UniGameEvent;
import com.tianxia.qipai.model.util.*;
public class RegModel implements SocketInterface{      //處理注冊(cè)、登陸等的算法操作
	private boolean ifsave;     //是否保存cookies資料
	private static RegModel instance;
	private RegView regview;
	private SocketManager socketmanager = null;
	private CommStructNode commstructnode;   //通信結(jié)點(diǎn)
	private MainGameEvent maingameevent;
	private RecordStore recordstore = null;   //記錄存儲(chǔ)器
	private String version = "00-00";
	public RegModel() { 
		super();
		socketmanager = SocketManager.getInstance();
		//socketmanager = new SocketManager(true);
		maingameevent = new MainGameEvent();
		//服務(wù)器ADSL撥號(hào)環(huán)境測(cè)試,datagram://xiezhengyu.dynserv.com表示服務(wù)器域名,也可以以使用公網(wǎng)ip測(cè)試
		//http://www.dynserv.com/上可以申請(qǐng)域名,
		//socketmanager.init(this,"datagram://xiezhengyu.dynserv.com:5009");
		
		//模擬器本機(jī)測(cè)試環(huán)境
		socketmanager.init(this,"datagram://127.0.0.1:5009");
		
		// TODO 自動(dòng)生成構(gòu)造函數(shù)存根
	}
	
	public void init(RegView regview){
		this.regview = regview;
	}

	public static synchronized RegModel getInstance(){
		if(instance == null){
			instance = new RegModel();
		}
			return instance;
	}
	
	//接管socket返回的數(shù)據(jù)
	public void ToReciveSocketData(){
		socketmanager.resetSocInterface(this);
	}

	//游戲退出
	public void DoGameExit(CommStructNode commstructnode){
		this.commstructnode = commstructnode;
		StringBuffer packstring = new StringBuffer();
		packstring.append("000");
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(MudleDefine.UNIVERMUDLE);
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(UniOperateId.beexit);
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(commstructnode.getUserId());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPhonenum());
		socketmanager.sendpacket(packstring.toString(),false);
	}
	
	//登錄處理方法 操作碼為001
	public void DoLogin(CommStructNode commstructnode,boolean ifsave){
		this.commstructnode = commstructnode;
		this.ifsave = ifsave;
		StringBuffer packstring = new StringBuffer();
		packstring.append("000");
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(MudleDefine.UNIVERMUDLE);
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(UniOperateId.login );
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(commstructnode.getUserId());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPassWord());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(version);
		socketmanager.sendpacket(packstring.toString(),true);
	}
	
		
	//用戶注冊(cè)處理方法000
	public void DoReg(CommStructNode commstructnode){
		this.commstructnode = commstructnode;
		StringBuffer packstring = new StringBuffer();
		packstring.append("000");
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(MudleDefine.UNIVERMUDLE);
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(UniOperateId.reg );
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(commstructnode.getNickName());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPhonenum());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPassWord());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPicture());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getSex());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getAge());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getUserType());
		socketmanager.sendpacket(packstring.toString(),true);
	}
	
	//用戶資料修改處理方法
	public void DoModify(CommStructNode commstructnode){
		this.commstructnode = commstructnode;
		StringBuffer packstring = new StringBuffer();
		packstring.append("000");
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(MudleDefine.UNIVERMUDLE);
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(UniOperateId.modify );
		packstring.append(UniversalDefine.DIVISION);
		packstring.append(commstructnode.getUserId());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getNickName());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPhonenum());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPassWord());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getPicture());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getSex());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getAge());
		packstring.append(UniversalDefine.SUBDIVISION);
		packstring.append(commstructnode.getUserType());
		socketmanager.sendpacket(packstring.toString(),true);
		
	}
	
	//處理服務(wù)器對(duì)用戶登錄請(qǐng)求的返回結(jié)果
	public void DoLoginResult(MainGameEvent e){
		
	}
	
//	處理服務(wù)器對(duì)用戶注冊(cè)請(qǐng)求的返回結(jié)果
	public void DoRegResult(MainGameEvent e){
		
	}
	
//	處理服務(wù)器對(duì)用戶資料修改請(qǐng)求的返回結(jié)果
	public void DoModifyResult(MainGameEvent e){
		
	}
	
//	供socketmanager調(diào)用,表示連接線程已經(jīng)啟動(dòng)
	public void BeginToConnect(){
		regview.handleEvent(UniGameEvent.BEGINTOCONNECT,maingameevent);
	}
	
	
	//供socketmanager調(diào)用,表示接收到數(shù)據(jù)
	public void RecvieData(String recpacket) {
		// TODO 自動(dòng)生成方法存根
		StringTokenizer stringtokenizer = new StringTokenizer(recpacket, UniversalDefine.DIVISION);
		String errcode = "";
		String serviceid = "";
		String operateid = "";
		String body = "";
		try {
			if (stringtokenizer.hasMoreTokens()) {
				errcode = stringtokenizer.nextToken();   //取得錯(cuò)誤號(hào)				
			}
			if (stringtokenizer.hasMoreTokens()) {
				serviceid = stringtokenizer.nextToken();   //取得業(yè)務(wù)號(hào)				
			}
			if (stringtokenizer.hasMoreTokens()) {
				operateid = stringtokenizer.nextToken();   //取得操作碼
			}
			if (stringtokenizer.hasMoreTokens()) {
				body = stringtokenizer.nextToken();   //取得業(yè)務(wù)數(shù)據(jù)
			}
			if(serviceid.equals(SocketManager.ITORECONNECT)){//與服務(wù)器斷開(kāi)正準(zhǔn)備重連
				regview.handleEvent(UniGameEvent.TORECONNECT,maingameevent);
			
			}else if(serviceid.equals(SocketManager.IRECONNECT)){//與服務(wù)器重連成功
				regview.handleEvent(UniGameEvent.RECONNECT,maingameevent);
				
			}else if(serviceid.equals(SocketManager.IDISCONNECT)){//無(wú)法重新連接的服務(wù)器
				regview.handleEvent(UniGameEvent.DISCONNECT,maingameevent);
			}
			if ( !serviceid.equals(MudleDefine.UNIVERMUDLE)){   //不是本模塊需要處理的數(shù)據(jù)
				return;
			}
			
			if ( operateid.equals(UniOperateId.reg) ) {   //用戶注冊(cè)響應(yīng)
				RegRespond(body);
			}else if( operateid.equals(UniOperateId.login ) ){   //用戶登錄響應(yīng)
				LoginRespond(body);
			}else if( operateid.equals(UniOperateId.modify)){  //用戶資料修改響應(yīng)
				ModifyRespond(body);
			}else if( operateid.equals(UniOperateId.belogout)){  //用戶被要求強(qiáng)迫注銷
				BeLogoutRespond(body);
				
			}
	
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
	}
	

	//	用戶注冊(cè)響應(yīng)
	public void RegRespond(String body){
		String succflag;
		StringTokenizer stringtokenizer = new StringTokenizer(body, ";");
		if (stringtokenizer.hasMoreTokens()) {
			succflag = stringtokenizer.nextToken();   //取得是否注冊(cè)成功標(biāo)志
			if ( succflag.equals("0")){  //用戶注冊(cè)成功
				if (stringtokenizer.hasMoreTokens()) {  
					commstructnode.setUserId(stringtokenizer.nextToken());
					maingameevent.setCommNode(commstructnode);
					regview.handleEvent(UniGameEvent.REGSUCCESSFUL,maingameevent);
				}
			}else{  //用戶注冊(cè)失敗
				maingameevent.setByName("errinfo","系統(tǒng)忙,請(qǐng)稍后再試");
				regview.handleEvent(UniGameEvent.REGFAIL,maingameevent);
			}
			
		}
	}
	
//	用戶登錄響應(yīng)
	public void LoginRespond(String body){
		String succflag="1";
		String vflag;
		StringTokenizer stringtokenizer = new StringTokenizer(body, ";");
		if (stringtokenizer.hasMoreTokens()) {
			succflag = stringtokenizer.nextToken();   //取得是否登錄成功標(biāo)志
			if ( succflag.compareTo("0")==0){  //用戶登錄成功
				if (stringtokenizer.hasMoreTokens()) {  
						vflag = stringtokenizer.nextToken();   //取得升級(jí)標(biāo)志
						if( vflag.compareTo("2") == 0 ){   //必須升級(jí)
							regview.handleEvent(UniGameEvent.NEEDUPGRADE,maingameevent);
						}
						else{
							if (stringtokenizer.hasMoreTokens()) {   //取昵稱
								commstructnode.setNickName(stringtokenizer.nextToken());
							}
							if (stringtokenizer.hasMoreTokens()) {  //取頭像
								commstructnode.setPicture(stringtokenizer.nextToken());
							}
							if (stringtokenizer.hasMoreTokens()) {  //取性別
								commstructnode.setSex(Integer.parseInt(stringtokenizer.nextToken()));
							}
							if (stringtokenizer.hasMoreTokens()) {  //取用戶類型
								commstructnode.setUserType(Integer.parseInt(stringtokenizer.nextToken()));
							}
							if (stringtokenizer.hasMoreTokens()) {  //取年齡
								commstructnode.setAge(Integer.parseInt(stringtokenizer.nextToken()));
							}
							if (stringtokenizer.hasMoreTokens()) {  //取游戲幣
								commstructnode.setGameMoney(stringtokenizer.nextToken());
							}
						}
						if(ifsave){   //保存cookies
							try {
								if(recordstore == null){
									recordstore = RecordStore.openRecordStore("userdata",true);
								}
								ByteArrayOutputStream outputstream = new ByteArrayOutputStream();
								DataOutputStream outputdatastream = new DataOutputStream(outputstream);
								outputdatastream.writeUTF(commstructnode.getUserId());
								outputdatastream.writeUTF(commstructnode.getPassWord());
								outputdatastream.flush();
								byte [] outputrecord = outputstream.toByteArray();
								if(recordstore.getNumRecords() == 0){
									recordstore.addRecord(outputrecord,0,outputrecord.length);
								}
								else{
									recordstore.setRecord(1,outputrecord,0,outputrecord.length);   //第一條記錄為用戶的用戶名和密碼
								}
								
								
							} catch (RecordStoreFullException e) {
								// TODO 自動(dòng)生成 catch 塊
								e.printStackTrace();
							} catch (RecordStoreNotFoundException e) {
								// TODO 自動(dòng)生成 catch 塊
								e.printStackTrace();
							} catch (RecordStoreException e) {
								// TODO 自動(dòng)生成 catch 塊
								e.printStackTrace();
							}  catch (IOException e) {
								// TODO 自動(dòng)生成 catch 塊
								e.printStackTrace();
							}
						}
						maingameevent.setCommNode(commstructnode);
						regview.handleEvent(UniGameEvent.LOGINSUCCESSFUL,maingameevent);
					}
				}
				else{  //用戶登錄失敗
					maingameevent.setCommNode(commstructnode);
					maingameevent.setByName("errinfo","系統(tǒng)忙,請(qǐng)稍后再試");
					regview.handleEvent(UniGameEvent.LOGINFAIL,maingameevent);
				}
		}
	
	}
	
//	用戶資料修改響應(yīng)
	public void ModifyRespond(String body){
		String succflag;
		StringTokenizer stringtokenizer = new StringTokenizer(body, ";");
		if (stringtokenizer.hasMoreTokens()) {
			succflag = stringtokenizer.nextToken();   //取得資料修改是否成功標(biāo)志
			if ( succflag.equals("0") ){  //資料修改成功
				
					commstructnode.setUserId(stringtokenizer.nextToken());
					maingameevent.setCommNode(commstructnode);
					regview.handleEvent(UniGameEvent.MODIFYSUCCESSFUL,maingameevent);
				}
			}else{  //失敗
				maingameevent.setByName("errinfo","系統(tǒng)忙,請(qǐng)稍后再試");
				regview.handleEvent(UniGameEvent.MODIFYFAIL,maingameevent);
			}
	}
	
	//用戶被強(qiáng)行注銷
	public void BeLogoutRespond(String body){
		String reasonstr = "";
		StringTokenizer stringtokenizer = new StringTokenizer(body, ";");
		if (stringtokenizer.hasMoreTokens()) {
			reasonstr = stringtokenizer.nextToken();  
		}
		if(reasonstr.equals("")){
			reasonstr = "此帳號(hào)已在別處登陸!";
		}
		maingameevent.setByName("reasonstr",reasonstr);
		regview.handleEvent(UniGameEvent.BELOGOUT,maingameevent);
	}
	
	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情av网| 欧美一区二区视频在线观看2022| 精品一区二区三区久久| 一区二区三区91| |精品福利一区二区三区| 欧美国产日韩亚洲一区| 久久精品人人做人人综合 | 欧美日韩国产一级| 在线观看日韩精品| 在线观看日韩国产| 欧美调教femdomvk| 欧美性猛片xxxx免费看久爱| 日本乱人伦一区| 色综合久久久久| 日本精品免费观看高清观看| 91社区在线播放| 色久优优欧美色久优优| 色综合久久久久综合体| 色菇凉天天综合网| 欧美日韩一区精品| 欧美高清精品3d| 欧美一区二区三区爱爱| 日韩精品一区国产麻豆| 26uuu国产电影一区二区| 亚洲精品在线电影| 久久精品欧美日韩精品| 国产精品日韩成人| 亚洲猫色日本管| 亚洲一二三四区不卡| 性做久久久久久| 蜜臀99久久精品久久久久久软件| 紧缚奴在线一区二区三区| 韩国一区二区在线观看| 福利电影一区二区三区| 99精品热视频| 欧美视频一区二区三区在线观看| 这里是久久伊人| 久久女同精品一区二区| 日韩一区在线看| 亚洲午夜久久久久久久久电影网| 石原莉奈在线亚洲二区| 久久国产精品99久久久久久老狼| 国产精品伊人色| 91视频免费观看| 欧美精品1区2区| 久久久综合激的五月天| 日韩伦理电影网| 日本不卡不码高清免费观看| 国产麻豆精品在线观看| 色综合久久中文综合久久牛| 91精品久久久久久久91蜜桃| 久久久久久久久免费| 综合色天天鬼久久鬼色| 日韩精品视频网| 成人激情校园春色| 欧美三级一区二区| 久久蜜桃一区二区| 一区二区三区在线不卡| 麻豆精品国产91久久久久久| 成人免费电影视频| 欧美日本乱大交xxxxx| 国产色爱av资源综合区| 一级中文字幕一区二区| 美腿丝袜亚洲一区| 91老师片黄在线观看| 欧美一区二区三区在线视频| 中文字幕精品一区| 日韩精品视频网站| 97精品视频在线观看自产线路二| 欧美一区二区高清| 亚洲猫色日本管| 国产一区二区三区视频在线播放 | 国产精品视频麻豆| 天堂成人国产精品一区| 99视频一区二区| 久久先锋资源网| 亚洲国产一区二区三区青草影视| 国产一区二区三区美女| 精品视频在线免费| 中文字幕一区二区三区不卡在线| 久久99精品国产.久久久久久| 91国产丝袜在线播放| 国产亚洲短视频| 日韩精品欧美成人高清一区二区| 91网页版在线| 国产日产亚洲精品系列| 蓝色福利精品导航| 欧美日本精品一区二区三区| 日韩美女视频19| 高清国产一区二区三区| 欧美成人免费网站| 亚洲高清久久久| 91农村精品一区二区在线| 国产免费观看久久| 国产乱淫av一区二区三区| 日韩欧美一区在线观看| 视频一区二区中文字幕| 欧美色精品在线视频| 一区二区三区国产豹纹内裤在线| av中文字幕不卡| 中文在线免费一区三区高中清不卡| 麻豆成人av在线| 日韩精品中午字幕| 美女诱惑一区二区| 日韩一级大片在线观看| 亚洲成人动漫精品| 在线观看一区日韩| 亚洲乱码中文字幕综合| 一本色道综合亚洲| 中文字幕一区二区三区四区| av不卡在线播放| 国产精品人人做人人爽人人添| 国产乱子伦视频一区二区三区| 欧美mv日韩mv亚洲| 国内精品自线一区二区三区视频| 91精品国模一区二区三区| 日韩电影在线观看电影| 日韩一区二区在线观看视频播放| 免费一级片91| 久久久久久久久久看片| 国产成人av自拍| 国产精品久久国产精麻豆99网站| jizz一区二区| 一区二区三区在线观看国产| 欧美日韩国产一级| 麻豆精品新av中文字幕| 国产校园另类小说区| 成人高清在线视频| 亚洲免费在线看| 欧美在线高清视频| 青青国产91久久久久久 | 亚洲免费观看高清完整版在线观看熊| 日本丰满少妇一区二区三区| 亚洲一区二区三区视频在线播放| 51精品秘密在线观看| 麻豆精品在线播放| 国产午夜精品一区二区三区四区| 东方aⅴ免费观看久久av| 国产精品美女一区二区三区| 美国三级日本三级久久99| 26uuuu精品一区二区| 国产黄色成人av| 国产精品久久久久影院老司| 成人国产精品视频| 午夜电影久久久| 在线电影一区二区三区| 久久成人麻豆午夜电影| 久久伊人中文字幕| 国产精品中文欧美| 亚洲激情第一区| 欧美精品vⅰdeose4hd| 久久爱www久久做| 久久久久88色偷偷免费| 在线观看91精品国产入口| 亚洲v精品v日韩v欧美v专区| 日韩视频在线你懂得| 国产一区二区三区美女| 精品久久久久香蕉网| 91免费视频观看| 午夜不卡在线视频| 欧美日韩黄色影视| 国产精品亚洲第一区在线暖暖韩国| 中文字幕的久久| 欧美大白屁股肥臀xxxxxx| 成人一区在线观看| 一区二区三区在线播| 日韩久久久久久| av影院午夜一区| 婷婷成人激情在线网| 久久亚洲免费视频| 91高清视频在线| 韩国v欧美v日本v亚洲v| 亚洲激情校园春色| 欧美精品九九99久久| 狠狠色丁香久久婷婷综合_中| 中文字幕av不卡| 51精品久久久久久久蜜臀| 国产精品一二三区| 亚洲一区二区四区蜜桃| 国产精品护士白丝一区av| 欧美日韩综合在线| 成人小视频免费在线观看| 中文字幕亚洲在| 久久久久久久久一| 在线观看区一区二| 国产丶欧美丶日本不卡视频| 一区二区三区免费看视频| 亚洲国产经典视频| 51午夜精品国产| 91捆绑美女网站| 国产一区二区三区免费播放| 日本成人在线一区| 国产欧美一区二区精品婷婷 | 成人一区二区三区视频在线观看| 亚洲在线免费播放| 欧美韩国一区二区| 在线播放国产精品二区一二区四区 | 中文字幕在线不卡视频| 欧美一区二区三区色| 欧洲亚洲国产日韩|