package com.basic.security.utils;
|
|
import android.os.SystemClock;
|
|
import com.basic.security.manager.RealTimeMetricsManager;
|
import com.basic.security.model.RealTimeMetrics;
|
|
import java.io.BufferedWriter;
|
import java.io.IOException;
|
import java.net.ServerSocket;
|
import java.net.Socket;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
public class MetricsSocketServer {
|
|
static int peopleCount = 0;
|
static int exitPeopleCount = 0;
|
|
public static void startMetricsSocketServer() {
|
new Thread() {
|
@Override
|
public void run() {
|
// RealTimeMetricsManager.initTodayData();
|
peopleCount = RealTimeMetricsManager.getTestEnterPeopleCount();
|
exitPeopleCount = RealTimeMetricsManager.getTestExitPeopleCount();
|
|
while (true) {
|
// SystemClock.sleep(3000);
|
if (1 != 1) {
|
while (true) {
|
SystemClock.sleep(2000);
|
Date date = new Date();
|
String dateStr = MetricsAcceptedClient.sdf.format(date);
|
dateStr = dateStr.replace(" ", "T");
|
String xml = "<?xml version=\"1.0\"?>\n" +
|
"<RealTimeMetrics SiteId=\"Site ID\">\n" +
|
"<Properties>\n" +
|
"<Version>3</Version>\n" +
|
"<TransmitTime>" + System.currentTimeMillis() + "</TransmitTime>\n" +
|
"<MacAddress>00:b0:9d:19:92:db</MacAddress>\n" +
|
"<IpAddress>192.168.1.7</IpAddress>\n" +
|
"<HostName>Cam-18453211</HostName>\n" +
|
"<HttpPort>80</HttpPort>\n" +
|
"<HttpsPort>443</HttpsPort>\n" +
|
"<Timezone>8</Timezone>\n" +
|
"<TimezoneName>(GMT 08:00) Beijing, Chongqing, Hong Kong, Urumqi</TimezoneName>\n" +
|
"<DST>0</DST>\n" +
|
"<HwPlatform>2500</HwPlatform>\n" +
|
"<SerialNumber>18453211</SerialNumber>\n" +
|
"<DeviceType>0</DeviceType>\n" +
|
"<SwRelease>4.0.2991.2157</SwRelease>\n" +
|
"</Properties>\n" +
|
// "<RTReport Date=\"2019-03-02T00:00:28\">\n" +
|
"<RTReport Date=\""+dateStr+"\">\n" +
|
"<RTObject Id=\"0\" DeviceId=\"test154\" Devicename=\"Device Name\" ObjectType=\"0\" Name=\"0\">\n" +
|
"<RTCount TotalEnters=\""+peopleCount+"\" TotalExits=\""+exitPeopleCount+"\"/>\n" +
|
"</RTObject>\n" +
|
"</RTReport>\n" +
|
"</RealTimeMetrics>";
|
MetricsAcceptedClient.parseXml(xml);
|
int increment = 100;
|
peopleCount += 2*increment;
|
exitPeopleCount += increment;
|
}
|
} else {
|
ServerSocket server = null;
|
try {
|
server = new ServerSocket(2010);
|
while (true) {
|
new MetricsAcceptedClient(server.accept()).start();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally {
|
if (server != null) {
|
try {
|
server.close();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
|
}
|
}
|
}.start();
|
}
|
|
}
|