Config.java
4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package com.sunvote.udptransfer;
import android.os.Environment;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* Created by Elvis on 2017/8/8.
* Email:Eluis@psunsky.com
* Description: 配置类
*/
public class Config {
/**
*
4001 PC 收数据
4002 Android 收数据
*/
public String serverIP = "" ;//192.168.0.181
public int serverUDPPort = 40001 ;
public int localUDPPort = 40002 ;
public String VERSION_CODE = "1.0.0.0";
private boolean canChangerServer = false;
public void setCanChangerServer(boolean canChangerServer) {
this.canChangerServer = canChangerServer;
}
public boolean isCanChangerServer() {
return canChangerServer;
}
public void saveInfo(){
File file =new File(Environment.getExternalStorageDirectory().getPath() + "/sunvote/serverip.txt");
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(file);
fileWriter.write(serverIP);
fileWriter.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(fileWriter != null){
try {
fileWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/**
* 当基站经过CHECK_ON_LINE_TIME时间后,变为离线模式
* 在此设置
*/
public long CHECK_ON_LINE_TIME = 10 * 1000 ;
/**
* 重复发送消息间隔时间
*/
public long REPEAT_INVERVAL_TIME = 2 * 1000 ;
private Config(){}
private static Config instance = new Config();
public static Config getInstance(){return instance;}
public int keepAliveInterval = 0;
public int networkConnectionTimeout = 0;
public void setSenseMode(SenseMode mode)
{
switch(mode)
{
case MODE_3S:
{
keepAliveInterval = 3000;// 3s
networkConnectionTimeout = 3000 * 3 + 1000;// 10s
break;
}
case MODE_10S:
keepAliveInterval = 10000;// 10s
networkConnectionTimeout = 10000 * 2 + 1000;// 21s
break;
case MODE_30S:
keepAliveInterval = 30000;// 30s
networkConnectionTimeout = 30000 * 2 + 1000;// 61s
break;
case MODE_60S:
keepAliveInterval = 60000;// 60s
networkConnectionTimeout = 60000 * 2 + 1000;// 121s
break;
case MODE_120S:
keepAliveInterval = 120000;// 120s
networkConnectionTimeout = 120000 * 2 + 1000;// 241s
break;
}
}
public enum SenseMode
{
/**
* 此模式下:<br>
* * KeepAlive心跳问隔为3秒;<br>
* * 10秒后未收到服务端心跳反馈即认为连接已断开(相当于连续3 个心跳间隔后仍未收到服务端反馈)。
*/
MODE_3S,
/**
* 此模式下:<br>
* * KeepAlive心跳问隔为10秒;<br>
* * 21秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
*/
MODE_10S,
/**
* 此模式下:<br>
* * KeepAlive心跳问隔为30秒;<br>
* * 61秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
*/
MODE_30S,
/**
* 此模式下:<br>
* * KeepAlive心跳问隔为60秒;<br>
* * 121秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
*/
MODE_60S,
/**
* 此模式下:<br>
* * KeepAlive心跳问隔为120秒;<br>
* * 241秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
*/
MODE_120S
}
}