From c4d4831297d97ff2d0330858951579ad49884a96 Mon Sep 17 00:00:00 2001 From: Myth Yang Date: Fri, 23 Aug 2013 09:12:50 +0800 Subject: new --- client/Socket-demo/Transam.java | 98 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 client/Socket-demo/Transam.java (limited to 'client/Socket-demo/Transam.java') diff --git a/client/Socket-demo/Transam.java b/client/Socket-demo/Transam.java new file mode 100644 index 0000000..d809be1 --- /dev/null +++ b/client/Socket-demo/Transam.java @@ -0,0 +1,98 @@ +package com.example.test; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Timer; +import java.util.TimerTask; + +import android.annotation.SuppressLint; +import android.os.Handler; +import android.os.Message; + +public class Transam implements Runnable { + public static String outmsg = ""; + public Timer timer; + public boolean flag = true; + public int cnt = 4; + public int port; + public String ip; + Thread thread; + Myrequest req; + Myrespond res; + Controller core; + + Transam(String i,int p,Myrequest r,Controller c){ + port = p; + ip = i; + req = r; + core = c; + } + + public void run() { + final thd t = new thd(); + flag = false; + thread = new Thread(t); + cnt = 4; + thread.start(); + timer = new Timer(); + TimerTask task = new Timertk(); + timer.schedule(task,2000,2000); + } + + class thd implements Runnable { + @Override + public void run() { + try{ + SocketClient client = new SocketClient(ip,port); + Myrespond res = client.sendMsg(req); + core.recieveInfo(res); + Message msg = new Message(); + msg.what = 1; + handler.sendMessage(msg); + client.closeSocket(); + }catch (UnknownHostException e){ + }catch (IOException e){ + } + + } + } + + @SuppressLint("HandlerLeak") + Handler handler = new Handler(){ + public void handleMessage(Message msg) { + switch (msg.what) { + case 1: + flag = true; + break; + case 2: + res.wrong = msg.obj.toString(); + core.recieveInfo(res); + break; + case 3: + final thd t = new thd(); + thread = new Thread(t); + thread.start(); + break; + } + super.handleMessage(msg); + } + }; + + class Timertk extends TimerTask { + public void run() { + if(flag==false&&cnt>0){ + cnt--; + } + else if(cnt==0) { + Message msg = new Message(); + msg.obj = "connecting failed"; + msg.what = 2; + handler.sendMessage(msg); + timer.cancel(); + } + else if(flag==true){ + timer.cancel(); + } + } + }; +} \ No newline at end of file -- cgit v1.2.3 From 0a0be038155046b0c30384224154ed55a8ef969d Mon Sep 17 00:00:00 2001 From: Myth Yang Date: Fri, 23 Aug 2013 10:57:32 +0800 Subject: changed --- client/Socket-demo/Transam.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'client/Socket-demo/Transam.java') diff --git a/client/Socket-demo/Transam.java b/client/Socket-demo/Transam.java index d809be1..6f0fb44 100644 --- a/client/Socket-demo/Transam.java +++ b/client/Socket-demo/Transam.java @@ -10,7 +10,6 @@ import android.os.Handler; import android.os.Message; public class Transam implements Runnable { - public static String outmsg = ""; public Timer timer; public boolean flag = true; public int cnt = 4; @@ -44,7 +43,7 @@ public class Transam implements Runnable { public void run() { try{ SocketClient client = new SocketClient(ip,port); - Myrespond res = client.sendMsg(req); + res = client.sendMsg(req); core.recieveInfo(res); Message msg = new Message(); msg.what = 1; @@ -65,6 +64,7 @@ public class Transam implements Runnable { flag = true; break; case 2: + res = new Myrespond(); res.wrong = msg.obj.toString(); core.recieveInfo(res); break; -- cgit v1.2.3