Finished porting, successfully got data
This commit is contained in:
parent
3df935b7bc
commit
c31399155a
5 changed files with 81 additions and 63 deletions
|
@ -22,5 +22,10 @@
|
|||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -2,3 +2,4 @@ eclipse.preferences.version=1
|
|||
encoding//src/main/java=UTF-8
|
||||
encoding//src/test/java=UTF-8
|
||||
encoding/<project>=UTF-8
|
||||
encoding/src=UTF-8
|
||||
|
|
9
pom.xml
9
pom.xml
|
@ -55,6 +55,10 @@
|
|||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>clojars.org</id>
|
||||
<url>http://clojars.org/repo</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
|
@ -70,5 +74,10 @@
|
|||
<version>1.11.2-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.TooTallNate</groupId>
|
||||
<artifactId>Java-WebSocket</artifactId>
|
||||
<version>Java-WebSocket-1.3.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -1,13 +1,29 @@
|
|||
package buttondevteam.PlaceMinecraft2;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocketFactory;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*
|
||||
*/
|
||||
public class App
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
System.out.println( "Hello World!" );
|
||||
public class App {
|
||||
public static void main(String[] args) throws URISyntaxException {
|
||||
PlaceWebSocket placews = new PlaceWebSocket(
|
||||
"wss://...");
|
||||
SSLContext sslContext = null;
|
||||
try {
|
||||
sslContext = SSLContext.getInstance("TLS");
|
||||
sslContext.init(null, null, null); // will use java's default key and trust store which is sufficient unless you deal with self-signed certificates
|
||||
SSLSocketFactory factory = sslContext.getSocketFactory();// (SSLSocketFactory) SSLSocketFactory.getDefault();
|
||||
placews.setSocket(factory.createSocket());
|
||||
if (!placews.connectBlocking())
|
||||
System.out.println("Failed to connect.");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
System.out.println("Finished");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,65 +1,52 @@
|
|||
package buttondevteam.PlaceMinecraft2;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import org.java_websocket.client.WebSocketClient;
|
||||
import org.java_websocket.handshake.ServerHandshake;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
public class PlaceWebSocket { //Ported from https://gist.github.com/teaearlgraycold/76877c8f262de24becc081ad96759730
|
||||
private Gson json;
|
||||
public JsonObject recv_frame()
|
||||
{
|
||||
//frame = super().recv_frame()
|
||||
return json.fromJson(frame.data.decode('utf-8'));
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
public class PlaceWebSocket extends WebSocketClient { // Ported from https://gist.github.com/teaearlgraycold/76877c8f262de24becc081ad96759730
|
||||
public PlaceWebSocket(String wslink) throws URISyntaxException {
|
||||
super(new URI(wslink));
|
||||
/*
|
||||
* insert_queue = 0 inserted_count = 0 max_queue_size = 100 save_frame_per = 20000
|
||||
*/
|
||||
}
|
||||
|
||||
public void main()
|
||||
{ url = "wss://...";
|
||||
ws = create_connection(url, class_=PlaceWebSocket);
|
||||
insert_queue = 0
|
||||
inserted_count = 0
|
||||
max_queue_size = 100
|
||||
save_frame_per = 20000
|
||||
|
||||
while(true)
|
||||
{ try
|
||||
{
|
||||
frame = ws.recv_frame();
|
||||
print(frame);
|
||||
|
||||
if(frame['type'] == 'place')
|
||||
{
|
||||
c.execute('''INSERT INTO placements VALUES (?, ?, ?, ?, ?)''', [
|
||||
int(time.time()),
|
||||
frame['payload']['x'],
|
||||
frame['payload']['y'],
|
||||
frame['payload']['color'],
|
||||
frame['payload']['author']
|
||||
])
|
||||
insert_queue += 1
|
||||
inserted_count += 1
|
||||
@Override
|
||||
public void onOpen(ServerHandshake handshakedata) {
|
||||
System.out.println("Status: " + handshakedata.getHttpStatusMessage());
|
||||
}
|
||||
else if(frame['type'] == 'activity')
|
||||
{
|
||||
c.execute('''INSERT INTO activity VALUES (?, ?)''', [
|
||||
int(time.time()),
|
||||
frame['payload']['count']
|
||||
])
|
||||
insert_queue += 1
|
||||
inserted_count += 1
|
||||
|
||||
if insert_queue >= max_queue_size:
|
||||
conn.commit()
|
||||
insert_queue = 0
|
||||
if inserted_count % save_frame_per == 0:
|
||||
save_bitmap(c, conn)
|
||||
except KeyboardInterrupt:
|
||||
print('Exiting safely...')
|
||||
conn.commit()
|
||||
conn.close()
|
||||
sys.exit()
|
||||
except Exception as e:
|
||||
print('Error occured: {}'.format(str(e)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
JsonObject frame = new JsonParser().parse(message).getAsJsonObject();
|
||||
String type = frame.get("type").getAsString();
|
||||
JsonObject payload = frame.get("payload").getAsJsonObject();
|
||||
System.out.println("Type: " + type);
|
||||
if (type.equals("place")) {
|
||||
int x = payload.get("x").getAsInt();
|
||||
int y = payload.get("y").getAsInt();
|
||||
String color = payload.get("color").getAsString();
|
||||
String author = payload.get("author").getAsString();
|
||||
System.out.println("X: " + x + " - Y: " + y + " - Color: " + color + " - Author: " + author);
|
||||
} else if (type.equals("activity")) {
|
||||
String count = payload.get("count").getAsString();
|
||||
System.out.println("Count: " + count);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClose(int code, String reason, boolean remote) {
|
||||
System.out.println("Code: " + code + " - Reason: " + reason + " - Remote: " + remote);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Exception ex) {
|
||||
System.out.println(ex);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue