修改增加上传量下载量逻辑
Change-Id: I5dc30fd08feabca1e2acffb647966e4060d76bd3
diff --git a/src/main/java/tracker/DataCaptureProxy.java b/src/main/java/tracker/DataCaptureProxy.java
index c2ed137..cb66feb 100644
--- a/src/main/java/tracker/DataCaptureProxy.java
+++ b/src/main/java/tracker/DataCaptureProxy.java
@@ -6,7 +6,7 @@
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.net.URL;
-
+import tracker.Tracker;
import org.simpleframework.http.Request;
import org.simpleframework.http.Response;
import org.simpleframework.http.core.Container;
@@ -34,15 +34,17 @@
String uploaded = req.getParameter("uploaded");
String downloaded = req.getParameter("downloaded");
String passkey = req.getParameter("passkey");
+ String port = req.getParameter("port"); // qBittorrent 服务端端口
- // 获取客户端IP地址
+ // 获取客户端IP地址和端口
String clientIp;
+ int clientPort = -1;
// 直接从 TCP 连接(socket 源地址)中读取
SocketAddress socketAddress = req.getClientAddress();
if (socketAddress instanceof InetSocketAddress) {
- clientIp = ((InetSocketAddress) socketAddress)
- .getAddress()
- .getHostAddress();
+ InetSocketAddress inetSocketAddress = (InetSocketAddress) socketAddress;
+ clientIp = inetSocketAddress.getAddress().getHostAddress();
+ clientPort = inetSocketAddress.getPort();
} else {
// 兜底写法,将整个 SocketAddress 转为字符串
clientIp = socketAddress.toString();
@@ -53,23 +55,25 @@
", uploaded=" + uploaded +
", downloaded=" + downloaded +
", passkey=" + passkey +
- ", client_ip=" + clientIp
+ ", client_ip=" + clientIp +
+ ", client_port=" + clientPort +
+ ", qbt_service_port=" + port
);
// 调用 Tracker 方法更新上传和下载数据
- if (passkey != null && !passkey.isEmpty()) {
+ if (passkey != null && !passkey.isEmpty() && infoHash != null && !infoHash.isEmpty()) {
try {
if (uploaded != null && !uploaded.isEmpty()) {
int uploadValue = Integer.parseInt(uploaded);
if (uploadValue > 0) {
- tracker.AddUpLoad(passkey, uploadValue);
+ tracker.AddUpLoad(passkey, uploadValue, infoHash);
}
}
if (downloaded != null && !downloaded.isEmpty()) {
int downloadValue = Integer.parseInt(downloaded);
if (downloadValue > 0) {
- tracker.AddDownload(passkey, downloadValue);
+ tracker.AddDownload(passkey, downloadValue, infoHash);
}
}
} catch (NumberFormatException e) {