完成服务器连接与断开逻辑
This commit is contained in:
parent
9d37de4bfc
commit
4f44034b72
@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sun Mar 30 06:06:05 GMT 2025
|
#Sun Mar 30 16:43:08 GMT 2025
|
||||||
stageCount=2
|
stageCount=2
|
||||||
libraryProject=libaes
|
libraryProject=libaes
|
||||||
baseVersion=15.2
|
baseVersion=15.2
|
||||||
publishVersion=15.2.1
|
publishVersion=15.2.1
|
||||||
buildCount=85
|
buildCount=91
|
||||||
baseBetaVersion=15.2.2
|
baseBetaVersion=15.2.2
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sun Mar 30 06:06:05 GMT 2025
|
#Sun Mar 30 16:43:08 GMT 2025
|
||||||
stageCount=2
|
stageCount=2
|
||||||
libraryProject=libaes
|
libraryProject=libaes
|
||||||
baseVersion=15.2
|
baseVersion=15.2
|
||||||
publishVersion=15.2.1
|
publishVersion=15.2.1
|
||||||
buildCount=85
|
buildCount=91
|
||||||
baseBetaVersion=15.2.2
|
baseBetaVersion=15.2.2
|
||||||
|
@ -171,13 +171,13 @@ public class WinBollClientService extends Service implements IWinBollClientServi
|
|||||||
while (mIsEnableService) {
|
while (mIsEnableService) {
|
||||||
// 显示运行状态
|
// 显示运行状态
|
||||||
WinBollServiceStatusView.startConnection();
|
WinBollServiceStatusView.startConnection();
|
||||||
|
LogUtils.d(TAG, String.format("while mIsEnableService is %s", mIsEnableService));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Thread.sleep(10 * 1000);
|
Thread.sleep(10 * 1000);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
||||||
}
|
}
|
||||||
LogUtils.d(TAG, "while syncWinBollClientThreadStatus");
|
|
||||||
syncWinBollClientThreadStatus();
|
syncWinBollClientThreadStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -263,91 +263,91 @@ public class WinBollServiceStatusView extends LinearLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*void requestWithBasicAuth(final WinBollServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) {
|
/*void requestWithBasicAuth(final WinBollServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) {
|
||||||
// 用户名和密码,替换为实际的认证信息
|
// 用户名和密码,替换为实际的认证信息
|
||||||
//String username = "your_username";
|
//String username = "your_username";
|
||||||
//String password = "your_password";
|
//String password = "your_password";
|
||||||
LogUtils.d(TAG, "requestWithBasicAuth(...)");
|
LogUtils.d(TAG, "requestWithBasicAuth(...)");
|
||||||
LogUtils.d(TAG, String.format("targetUrl %s", targetUrl));
|
LogUtils.d(TAG, String.format("targetUrl %s", targetUrl));
|
||||||
|
|
||||||
// 构建包含认证信息的请求
|
// 构建包含认证信息的请求
|
||||||
String credential = Credentials.basic(username, password);
|
String credential = Credentials.basic(username, password);
|
||||||
LogUtils.d(TAG, String.format("credential %s", credential));
|
LogUtils.d(TAG, String.format("credential %s", credential));
|
||||||
|
|
||||||
OkHttpClient client = new OkHttpClient();
|
OkHttpClient client = new OkHttpClient();
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
.url(targetUrl)
|
.url(targetUrl)
|
||||||
.header("Accept", "text/plain") // 设置正确的Content-Type头
|
.header("Accept", "text/plain") // 设置正确的Content-Type头
|
||||||
.header("Authorization", credential)
|
.header("Authorization", credential)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
Call call = client.newCall(request);
|
Call call = client.newCall(request);
|
||||||
call.enqueue(new Callback() {
|
call.enqueue(new Callback() {
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Call call, IOException e) {
|
public void onFailure(Call call, IOException e) {
|
||||||
// 处理网络请求失败
|
// 处理网络请求失败
|
||||||
setImageViewByConnection(mImageView, false);
|
setImageViewByConnection(mImageView, false);
|
||||||
textViewHandler.postMessageText(e.getMessage());
|
textViewHandler.postMessageText(e.getMessage());
|
||||||
textViewHandler.postMessageConnectionStatus(false);
|
textViewHandler.postMessageConnectionStatus(false);
|
||||||
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
||||||
//String sz = "请求失败,状态码: " + response.code();
|
//String sz = "请求失败,状态码: " + response.code();
|
||||||
//setImageViewByConnection(mImageView, false);
|
//setImageViewByConnection(mImageView, false);
|
||||||
//LogUtils.d(TAG, sz);
|
//LogUtils.d(TAG, sz);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call call, Response response) throws IOException {
|
public void onResponse(Call call, Response response) throws IOException {
|
||||||
if (!response.isSuccessful()) {
|
if (!response.isSuccessful()) {
|
||||||
setImageViewByConnection(mImageView, false);
|
setImageViewByConnection(mImageView, false);
|
||||||
textViewHandler.postMessageText("Unexpected code " + response);
|
textViewHandler.postMessageText("Unexpected code " + response);
|
||||||
textViewHandler.postMessageConnectionStatus(false);
|
textViewHandler.postMessageConnectionStatus(false);
|
||||||
LogUtils.d(TAG, "Unexpected code " + response, Thread.currentThread().getStackTrace());
|
LogUtils.d(TAG, "Unexpected code " + response, Thread.currentThread().getStackTrace());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 读取响应体作为字符串,注意这里可能需要解码
|
// 读取响应体作为字符串,注意这里可能需要解码
|
||||||
String text = response.body().string();
|
String text = response.body().string();
|
||||||
LogUtils.d(TAG, "Develop Host Connection IP is : " + text);
|
LogUtils.d(TAG, "Develop Host Connection IP is : " + text);
|
||||||
mConnectionStatus = ConnectionStatus.CONNECTED;
|
mConnectionStatus = ConnectionStatus.CONNECTED;
|
||||||
// 获取当前时间
|
// 获取当前时间
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
// 定义时间格式
|
// 定义时间格式
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
||||||
// 按照指定格式格式化时间并输出
|
// 按照指定格式格式化时间并输出
|
||||||
String formattedDateTime = now.format(formatter);
|
String formattedDateTime = now.format(formatter);
|
||||||
textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + text);
|
textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + text);
|
||||||
textViewHandler.postMessageConnectionStatus(true);
|
textViewHandler.postMessageConnectionStatus(true);
|
||||||
|
|
||||||
//org.jsoup.nodes.Document doc = org.jsoup.Jsoup.parse(text);
|
//org.jsoup.nodes.Document doc = org.jsoup.Jsoup.parse(text);
|
||||||
//LogUtils.d(TAG, doc.text());
|
//LogUtils.d(TAG, doc.text());
|
||||||
|
|
||||||
// 使用id选择器找到具有特定id的元素
|
// 使用id选择器找到具有特定id的元素
|
||||||
//org.jsoup.nodes.Element elementWithId = doc.select("#LastRelease").first(); // 获取第一个匹配的元素
|
//org.jsoup.nodes.Element elementWithId = doc.select("#LastRelease").first(); // 获取第一个匹配的元素
|
||||||
|
|
||||||
// 提取并打印元素的文本内容
|
// 提取并打印元素的文本内容
|
||||||
//mszNewestAppPackageName = elementWithId.text();
|
//mszNewestAppPackageName = elementWithId.text();
|
||||||
//ToastUtils.delayedShow(text + "\n" + mszNewestAppPackageName, 5000);
|
//ToastUtils.delayedShow(text + "\n" + mszNewestAppPackageName, 5000);
|
||||||
|
|
||||||
//mHandler.sendMessage(mHandler.obtainMessage(MSG_APPUPDATE_CHECKED));
|
//mHandler.sendMessage(mHandler.obtainMessage(MSG_APPUPDATE_CHECKED));
|
||||||
//System.out.println(response.body().string());
|
//System.out.println(response.body().string());
|
||||||
// mConnectionStatus = ConnectionStatus.CONNECTED;
|
// mConnectionStatus = ConnectionStatus.CONNECTED;
|
||||||
// // 获取当前时间
|
// // 获取当前时间
|
||||||
// LocalDateTime now = LocalDateTime.now();
|
// LocalDateTime now = LocalDateTime.now();
|
||||||
//
|
//
|
||||||
// // 定义时间格式
|
// // 定义时间格式
|
||||||
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
|
||||||
// // 按照指定格式格式化时间并输出
|
// // 按照指定格式格式化时间并输出
|
||||||
// String formattedDateTime = now.format(formatter);
|
// String formattedDateTime = now.format(formatter);
|
||||||
// //System.out.println(formattedDateTime);
|
// //System.out.println(formattedDateTime);
|
||||||
// textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + response.body().string());
|
// textViewHandler.postMessageText("ClientIP<" + formattedDateTime + ">: " + response.body().string());
|
||||||
// textViewHandler.postMessageConnectionStatus(true);
|
// textViewHandler.postMessageConnectionStatus(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
class WinBollServiceViewHandler extends Handler {
|
class WinBollServiceViewHandler extends Handler {
|
||||||
WinBollServiceStatusView mDevelopHostConnectionStatusView;
|
WinBollServiceStatusView mDevelopHostConnectionStatusView;
|
||||||
@ -399,26 +399,26 @@ public class WinBollServiceStatusView extends LinearLayout {
|
|||||||
mConnectionStatus = ConnectionStatus.START_CONNECT;
|
mConnectionStatus = ConnectionStatus.START_CONNECT;
|
||||||
LogUtils.d(TAG, "startConnectionThread");
|
LogUtils.d(TAG, "startConnectionThread");
|
||||||
if (mConnectionThread != null) {
|
if (mConnectionThread != null) {
|
||||||
|
LogUtils.d(TAG, "mConnectionThread != null");
|
||||||
mConnectionThread.mIsExist = true;
|
mConnectionThread.mIsExist = true;
|
||||||
}
|
}
|
||||||
mConnectionThread = new ConnectionThread();
|
mConnectionThread = new ConnectionThread();
|
||||||
mConnectionThread.start();
|
mConnectionThread.start();
|
||||||
} else if (mConnectionStatus == ConnectionStatus.CONNECTING) {
|
} else if (mConnectionStatus == ConnectionStatus.CONNECTING) {
|
||||||
//LogUtils.d(TAG, "mConnectionStatus == ConnectionStatus.CONNECTING");
|
//LogUtils.d(TAG, "mConnectionStatus == ConnectionStatus.CONNECTING");
|
||||||
|
} else if (mConnectionStatus == ConnectionStatus.CONNECTED) {
|
||||||
|
//LogUtils.d(TAG, "mConnectionStatus == ConnectionStatus.CONNECTED");
|
||||||
} else {
|
} else {
|
||||||
LogUtils.d(TAG, "Unknow mConnectionStatus, can not start ConnectionThread.");
|
LogUtils.d(TAG, String.format("Unknow mConnectionStatus %s, can not start ConnectionThread.", mConnectionStatus));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void stopConnectionThread() {
|
void stopConnectionThread() {
|
||||||
if (mConnectionStatus == ConnectionStatus.CONNECTED) {
|
LogUtils.d(TAG, "stopConnectionThread");
|
||||||
LogUtils.d(TAG, "stopConnectionThread");
|
if (mConnectionThread != null) {
|
||||||
if (mConnectionThread != null) {
|
LogUtils.d(TAG, "mConnectionThread != null");
|
||||||
mConnectionThread.mIsExist = true;
|
mConnectionThread.mIsExist = true;
|
||||||
mConnectionThread = null;
|
mConnectionThread = null;
|
||||||
}
|
|
||||||
} else {
|
|
||||||
LogUtils.d(TAG, "Unknow mConnectionStatus, can not start ConnectionThread.");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user