Commit dbea6dcc45891929f03d34724d70401b72949230

Authored by wugian
1 parent ea30dfb9

gradle update,log file

... ... @@ -104,7 +104,7 @@ android {
104 104
105 105 if (variant.buildType.name.equals('release')) {
106 106 def fileName = output.outputFile.name.replace(output.outputFile.name,
107   - /*variant.productFlavors[0].name*/"方糖" + "-${variant.versionCode}-${releaseTime()}.apk")
  107 + /*variant.productFlavors[0].name*/"方糖" + "-v${variant.versionCode}-${releaseTime()}.apk")
108 108 output.outputFile = new File(output.outputFile.parent, fileName)
109 109 // release to test folder
110 110 println fileName
... ...
... ... @@ -18,7 +18,6 @@ import java.io.InputStream;
18 18 import java.io.OutputStream;
19 19 import java.lang.ref.WeakReference;
20 20 import java.net.Socket;
21   -import java.net.UnknownHostException;
22 21 import java.util.Arrays;
23 22
24 23 public class SocketService extends Service {
... ... @@ -37,6 +36,7 @@ public class SocketService extends Service {
37 36 public static final String HEART_BEAT_STRING = "\\r\\n\\r\\n";//心跳包内容
38 37 public String testRoomSn = "000003";
39 38 private ReadThread mReadThread;
  39 + private HeatBeatThread mHeatBeatThread;
40 40 private Gson gson;
41 41
42 42 // private LocalBroadcastManager mLocalBroadcastManager;
... ... @@ -56,6 +56,7 @@ public class SocketService extends Service {
56 56 Log.d(TAG, "heart beat error restart");
57 57 mHandler.removeCallbacks(heartBeatRunnable);
58 58 mReadThread.release();
  59 + mHeatBeatThread.release();
59 60 releaseLastSocket(mSocket);
60 61 new InitSocketThread().start();
61 62 }
... ... @@ -79,6 +80,7 @@ public class SocketService extends Service {
79 80 super.onCreate();
80 81 gson = new Gson();
81 82 context = this;
  83 + //TODO change the room sn
82 84 if (!"LETEST".equals(SystemUtils.getPid(context, BuildConfig.MACHINE_TYPE))) {
83 85 testRoomSn = "000002";
84 86 }
... ... @@ -109,20 +111,15 @@ public class SocketService extends Service {
109 111 return true;
110 112 }
111 113
112   - private void initSocket() {//初始化Socket
113   - try {
114   - Socket so = new Socket(HOST, PORT);
115   - mSocket = new WeakReference<Socket>(so);
116   - mReadThread = new ReadThread(so);
117   - mReadThread.start();
  114 + private void initSocket() throws IOException {//初始化Socket
  115 + Socket so = new Socket(HOST, PORT);
  116 + mSocket = new WeakReference<Socket>(so);
  117 + mReadThread = new ReadThread(so);
  118 + mReadThread.start();
118 119 // new Thread(heartBeatRunnable).start();
119 120 // mHandler.post(heartBeatRunnable);//初始化成功后,就准备发送心跳包
120   - new HeatBeat(so).start();//上面的 one plus 3t NetworkOnMainThreadException!!!
121   - } catch (UnknownHostException e) {
122   - e.printStackTrace();
123   - } catch (IOException e) {
124   - e.printStackTrace();
125   - }
  121 + mHeatBeatThread = new HeatBeatThread(so);
  122 + mHeatBeatThread.start();//上面的 one plus 3t NetworkOnMainThreadException!!!
126 123 }
127 124
128 125 private void releaseLastSocket(WeakReference<Socket> mSocket) {
... ... @@ -144,7 +141,18 @@ public class SocketService extends Service {
144 141 @Override
145 142 public void run() {
146 143 super.run();
147   - initSocket();
  144 + try {
  145 + initSocket();
  146 + } catch (IOException e) {
  147 + e.printStackTrace();
  148 + Log.d(TAG, "init socket thread error,restart again after 10's");
  149 + try {
  150 + Thread.sleep(HEART_BEAT_RATE);
  151 + } catch (InterruptedException e1) {
  152 + e1.printStackTrace();
  153 + }
  154 + this.run();
  155 + }
148 156 }
149 157 }
150 158
... ... @@ -239,33 +247,39 @@ public class SocketService extends Service {
239 247
240 248
241 249 // Thread to read content from Socket
242   - class HeatBeat extends Thread {
  250 + class HeatBeatThread extends Thread {
243 251 private WeakReference<Socket> mWeakSocket;
244 252 private boolean isStart = true;
245 253
246   - public HeatBeat(Socket socket) {
  254 + public HeatBeatThread(Socket socket) {
247 255 mWeakSocket = new WeakReference<Socket>(socket);
248 256 }
249 257
  258 + public void release() {
  259 + isStart = false;
  260 + releaseLastSocket(mWeakSocket);
  261 + }
  262 +
250 263 @Override
251 264 public void run() {
252 265 super.run();
253 266 Socket socket = mWeakSocket.get();
254 267 if (null != socket) {
255   - while (true) {
  268 + while (isStart) {
256 269 if (System.currentTimeMillis() - sendTime >= HEART_BEAT_RATE) {
257   - Log.d(TAG, "heart beat");
  270 + Log.d(TAG, "heart beat:" + Thread.currentThread().getId());
258 271 boolean isSuccess = sendMsg(HEART_BEAT_STRING);//就发送一个HEART_BEAT_STRING过去 如果发送失败,就重新初始化一个socket
259 272 if (!isSuccess) {
260   - Log.d(TAG, "heart beat error restart");
  273 + Log.d(TAG, "heart beat error restart:" + Thread.currentThread().getId());
261 274 // mHandler.removeCallbacks(heartBeatRunnable);
262 275 mReadThread.release();
  276 + mHeatBeatThread.release();
263 277 sendRegister = false;
264 278 releaseLastSocket(mSocket);
265 279 new InitSocketThread().start();
266 280 }
267 281 } else {
268   - Log.d(TAG, "heart beat less than beat rate");
  282 + Log.d(TAG, "heart beat less than beat rate:" + Thread.currentThread().getId());
269 283 }
270 284 try {
271 285 Thread.sleep(HEART_BEAT_RATE);
... ...
Please register or login to post a comment