要進行資訊互動,首先要建立一對互相連線的socket
客戶端**如下
public function client()
伺服器端偵聽連線請求的serversocket類
public void run()
catch (ioexception e)
} }
上面有一段看起來有些不明所以的xml格式**,這是因為flash要訪問網路資源時,需要伺服器返回這樣一段資訊,否則就不能建立通訊
這個意思是所有**的ip都可以連線該伺服器
allow-access-from domain='*'
這裡是可以連線的埠
to-ports='34567'
建立起socket連線後,就可以進行資訊的傳送了
我們現在來製作註冊功能,先講一下思路。
客戶端先對賬號密碼框中的輸入進行簡單驗證,這邊為了簡單起見,只要長度大於0即可。
接下來客戶端打包字串訊息傳送給伺服器的clientthread類,伺服器進行拆解。
clientthread類將拆解後的資訊**給dbengine類,該類進行資料庫查詢,如果該賬號已經存在,返回註冊失敗,如果成功返回註冊成功,同時初始化該賬號資訊,伺服器再將該訊息返回客戶端,客戶端負責顯示結果的gui再顯示出結果。
**如下
客戶端驗證輸入後傳送
public function register(account:string,password:string)
}
伺服器clientthread類
//註冊
if(line.startswith(main.register_key))
else
}
dbengine類
public static boolean register(string account, string password)
else
rs.close();
s.close();
c.close();
} catch (classnotfoundexception e) catch (sqlexception e)
至此我們就完成了註冊功能的開發
登入功能也類似,過程如下
客戶端先對賬號密碼框中的輸入進行簡單驗證
接下來客戶端打包字串訊息傳送給伺服器的clientthread類,伺服器進行拆解。
clientthread類將拆解後的資訊**給dbengine類,該類進行資料庫查詢,如果賬號密碼正確,則登入成功,如果沒有該賬號或者賬號對了密碼不對,返回登入失敗
**如下
客戶端
public function login(account:string,password:string)
}
伺服器clientthread類
//登入
if(line.startswith(main.login_key))
});}
else
}
dbengine類
public static string login(string account, string password)
rs.close();
s.close();
c.close();
} catch (classnotfoundexception e) catch (sqlexception e)
return line;
}
這裡就完成了登入功能的開發,是不是挺簡單的?
下一期將介紹遊戲大廳中的一些資訊互動
以opengl製作2D貪吃蛇(一)
1 搭建好基本的視窗環境 要確定視窗大小,通過確定格仔的大小 tile width,tile height 格仔的數量 tile column,tile row 2 畫格仔 兩個迴圈 1 搭建好基本的視窗環境 要確定視窗大小,通過確定格仔的大小 tile width,tile height 格仔的數...
egret3D與2D混合開發,畫布尺寸不一致的問題
egret3d的gui目前還沒有,在做3d遊戲的時候沒有ui可用,只能使用egret2d的eui元件庫,egret3d與egret2d混合開發,canvas3d的大小與位置與canvas2d並沒有重合,導致適配ui時總是錯位。在做手機螢幕適配的時候必須解決這種問題,我的解決方法是兩個屬性相同。我的解...
快速檢測乙個點是否包含在乙個2d三角形內
如下圖所示 由三條線段連線起來的a,b,c三個點在2d平面中構成了乙個三角形。p點位於三角形外,q點位於三角形內,那麼用什麼方案來判定乙個任意點是否位於三角形內部呢?我們得找到乙個規律 假定你按照順時針的方向從a點出發向b點前進再到c點繼而在到a點,你會發現如果點在三角形內,則點一定位於你的右手,如...