summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorGoblin911 <[email protected]>2013-08-27 11:03:38 +0800
committerGoblin911 <[email protected]>2013-08-27 11:03:38 +0800
commitf4595bc3d9afaac5d3c91bb95dff0217cf5b728c (patch)
tree5b3e939b5c7e5216439b432de5654156c3d4920b /client
parentac55b507e9745b60d4c677ee356a470cb68266e4 (diff)
flush network, add login failed toast
Diffstat (limited to 'client')
-rw-r--r--client/Piztor/src/com/macaroon/piztor/InitAct.java2
-rw-r--r--client/Piztor/src/com/macaroon/piztor/Login.java19
-rw-r--r--client/Piztor/src/com/macaroon/piztor/Main.java1
-rw-r--r--client/Piztor/src/com/macaroon/piztor/SocketClient.java40
-rw-r--r--client/Piztor/src/com/macaroon/piztor/Transam.java4
-rw-r--r--client/Piztor/src/com/macaroon/piztor/UserInfo.java4
6 files changed, 44 insertions, 26 deletions
diff --git a/client/Piztor/src/com/macaroon/piztor/InitAct.java b/client/Piztor/src/com/macaroon/piztor/InitAct.java
index fb31346..4d2b656 100644
--- a/client/Piztor/src/com/macaroon/piztor/InitAct.java
+++ b/client/Piztor/src/com/macaroon/piztor/InitAct.java
@@ -10,7 +10,7 @@ public class InitAct extends PiztorAct {
id = "initAct";
super.onCreate(savedInstanceState);
AppMgr.init();
- AppMgr.transam.setTimeOutTime(10000);
+ AppMgr.transam.setTimeOutTime(5000);
setContentView(R.layout.activity_init);
}
diff --git a/client/Piztor/src/com/macaroon/piztor/Login.java b/client/Piztor/src/com/macaroon/piztor/Login.java
index 52df2c9..3ad6cfb 100644
--- a/client/Piztor/src/com/macaroon/piztor/Login.java
+++ b/client/Piztor/src/com/macaroon/piztor/Login.java
@@ -9,6 +9,7 @@ import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.Toast;
public class Login extends PiztorAct {
@@ -30,6 +31,10 @@ public class Login extends PiztorAct {
}
if (m.what == 0) {
ResLogin res = (ResLogin) m.obj;
+ if (res.s == 1) {
+ actMgr.trigger(loginFailed);
+ return;
+ }
UserInfo.token = res.t;
UserInfo.id = res.uid;
UserInfo.username = edtUser.getText().toString();
@@ -65,7 +70,9 @@ public class Login extends PiztorAct {
@Override
void leave(int e) {
-
+ Toast toast = Toast.makeText(getApplicationContext(),
+ "login failed", Toast.LENGTH_LONG);
+ toast.show();
}
}
@@ -106,11 +113,11 @@ public class Login extends PiztorAct {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK) {
- AppMgr.exit();
- return true;
- }
- return super.onKeyDown(keyCode, event);
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ AppMgr.exit();
+ return true;
+ }
+ return super.onKeyDown(keyCode, event);
}
@Override
diff --git a/client/Piztor/src/com/macaroon/piztor/Main.java b/client/Piztor/src/com/macaroon/piztor/Main.java
index 5873afe..f9e8b00 100644
--- a/client/Piztor/src/com/macaroon/piztor/Main.java
+++ b/client/Piztor/src/com/macaroon/piztor/Main.java
@@ -82,7 +82,6 @@ public class Main extends PiztorAct {
default:
break;
}
-
}
};
diff --git a/client/Piztor/src/com/macaroon/piztor/SocketClient.java b/client/Piztor/src/com/macaroon/piztor/SocketClient.java
index f97e397..fe926d9 100644
--- a/client/Piztor/src/com/macaroon/piztor/SocketClient.java
+++ b/client/Piztor/src/com/macaroon/piztor/SocketClient.java
@@ -3,22 +3,30 @@ package com.macaroon.piztor;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.Locale;
import java.util.Vector;
+import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Message;
public class SocketClient {
static Socket client;
+
+ static final int ByteLength = 1;
+ static final int IntLength = 4;
+ static final int DoubleLength = 8;
+ static final int TokenLength = 32;
public SocketClient(String site, int port, int retime) throws UnknownHostException,
IOException {
try {
- client = new Socket(site, port);
+ client = new Socket();
+ client.connect(new InetSocketAddress(site,port), 5000);
client.setSoTimeout(retime);
} catch (UnknownHostException e) {
e.printStackTrace();
@@ -26,7 +34,7 @@ public class SocketClient {
} catch (IOException e) {
e.printStackTrace();
throw e;
- }
+ }
}
public int sendMsg(Req req,Handler recall) throws IOException,SocketTimeoutException {
@@ -40,7 +48,7 @@ public class SocketClient {
ReqLogin rau = (ReqLogin) req;
String id = rau.user;
String pa = rau.pass;
- len = 4+1+id.length()+1+pa.length()+1;
+ len = IntLength+ByteLength+id.length()+ByteLength+pa.length()+ByteLength;
out.writeInt(len);
out.writeByte(tmp);
out.writeBytes(id);
@@ -52,7 +60,7 @@ public class SocketClient {
ReqUpdate rup = (ReqUpdate) req;
String tk1 = rup.token;
String name1 = rup.uname;
- len = 4+1+32+name1.length()+1+8+8;
+ len = IntLength+ByteLength+TokenLength+name1.length()+ByteLength+DoubleLength+DoubleLength;
out.writeInt(len);
out.writeByte(tmp);
double slat = rup.lat;
@@ -68,7 +76,7 @@ public class SocketClient {
ReqLocation ras = (ReqLocation) req;
String tk2 = ras.token;
String name2 = ras.uname;
- len = 4+1+32+name2.length()+1+4;
+ len = IntLength+ByteLength+TokenLength+name2.length()+ByteLength+IntLength;
out.writeInt(len);
out.writeByte(tmp);
int gid = ras.gid;
@@ -82,7 +90,7 @@ public class SocketClient {
ReqUserinfo rus = (ReqUserinfo) req;
String tk3 = rus.token;
String name3 = rus.uname;
- len = 4+1+32+name3.length()+1+4;
+ len = IntLength+ByteLength+TokenLength+name3.length()+ByteLength+IntLength;
out.writeInt(len);
out.writeByte(tmp);
int usid = rus.uid;
@@ -126,13 +134,16 @@ public class SocketClient {
break;
case 2:
int status2 = in.readUnsignedByte();
- int n = in.readInt();
+ int n = 0;
+ outlen-=(IntLength+ByteLength+ByteLength);
Vector<Rlocation> tmpv = new Vector<Rlocation>();
- for (int i = 1; i <= n; i++) {
+ while(outlen > 0) {
int tid = in.readInt();
double lat = in.readDouble();
double lot = in.readDouble();
tmpv.add(new Rlocation(tid,lat,lot));
+ outlen -= (IntLength+DoubleLength+DoubleLength);
+ n++;
}
ResLocation rlocin = new ResLocation(n,status2,tmpv);
msg.obj = rlocin;
@@ -141,21 +152,21 @@ public class SocketClient {
break;
case 3:
int status3 = in.readUnsignedByte();
- outlen-=6;
+ outlen-=(IntLength+ByteLength+ByteLength);
ReqUserinfo rus = (ReqUserinfo) req;
int u = rus.uid;
int g = 0,s = 0;
- while(outlen>0){
+ while(outlen > 0) {
int typ = in.readUnsignedByte();
- outlen-=1;
+ outlen-=ByteLength;
switch(typ){
case 0:
g = in.readInt();
- outlen-=4;
+ outlen-=IntLength;
break;
case 1:
s = in.readByte();
- outlen-=1;
+ outlen-=ByteLength;
break;
}
}
@@ -184,11 +195,12 @@ public class SocketClient {
}
}
+ @SuppressLint("DefaultLocale")
private static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
- hexString = hexString.toUpperCase(Locale.CHINA);
+ hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
diff --git a/client/Piztor/src/com/macaroon/piztor/Transam.java b/client/Piztor/src/com/macaroon/piztor/Transam.java
index 53750d5..e946387 100644
--- a/client/Piztor/src/com/macaroon/piztor/Transam.java
+++ b/client/Piztor/src/com/macaroon/piztor/Transam.java
@@ -53,7 +53,7 @@ public class Transam implements Runnable {
public boolean flag = true;
public int cnt = 4; //retry times
public int tcnt; //current remain retry times
- public int retime = 1000; //timeout time
+ public int retime = 10000; //timeout time
Res res;
Req req;
public int p; //port
@@ -123,7 +123,7 @@ public class Transam implements Runnable {
try {
SocketClient client = new SocketClient(i,p,retime);
int out = client.sendMsg(req,recall);
- if(out == 0){
+ if(out == 0){
client.closeSocket();
running = false;
}
diff --git a/client/Piztor/src/com/macaroon/piztor/UserInfo.java b/client/Piztor/src/com/macaroon/piztor/UserInfo.java
index 9c78fc3..d404c7e 100644
--- a/client/Piztor/src/com/macaroon/piztor/UserInfo.java
+++ b/client/Piztor/src/com/macaroon/piztor/UserInfo.java
@@ -1,8 +1,8 @@
package com.macaroon.piztor;
public class UserInfo {
- static String ip = "69.85.86.42";
-// static String ip = "192.168.1.101";
+// static String ip = "69.85.86.42";
+ static String ip = "192.168.1.101";
static int port = 2222;
static String token = null;
static String username = null;