diff --git a/Client/pom.xml b/Client/pom.xml index 3d302b3..3ad5077 100644 --- a/Client/pom.xml +++ b/Client/pom.xml @@ -72,12 +72,7 @@ 1.18.22 compile - - org.example - API - 1.0-SNAPSHOT - compile - + com.google.code.gson @@ -93,18 +88,6 @@ - - org.slf4j - slf4j-simple - 2.0.7 - - - - org.slf4j - slf4j-simple - 2.0.7 - runtime - @@ -119,6 +102,12 @@ RELEASE test + + org.example + API + 1.0-SNAPSHOT + compile + \ No newline at end of file diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/Client2.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/Client2.java deleted file mode 100644 index 9c78309..0000000 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/Client2.java +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.jwdeveloper.tiktok.websocket; - -import org.java_websocket.client.WebSocketClient; -import org.java_websocket.handshake.ServerHandshake; - -import java.net.URI; -import java.nio.ByteBuffer; -import java.util.Map; - -public class Client2 extends WebSocketClient { - public Client2(URI serverUri, Map httpHeaders) { - super(serverUri,httpHeaders); - } - - @Override - public void onOpen(ServerHandshake serverHandshake) { - - System.out.println("Open"); - } - - @Override - public void onMessage(String s) { - System.out.println("MESSAGE"); - } - - @Override - public void onMessage(ByteBuffer bytes) { - System.out.println("MESSAGE binary"); - } - - @Override - public void onClose(int i, String s, boolean b) { - System.out.println("Close"); - } - - @Override - public void onError(Exception e) { - System.out.println("Error"); - } -} diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketListener.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketListener.java index 46ec18a..26faf38 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketListener.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketListener.java @@ -1,5 +1,6 @@ package io.github.jwdeveloper.tiktok.websocket; +import com.google.protobuf.ByteString; import io.github.jwdeveloper.generated.WebcastMessageEvent; import io.github.jwdeveloper.generated.WebcastResponse; import io.github.jwdeveloper.generated.WebcastWebsocketAck; @@ -9,6 +10,7 @@ import io.github.jwdeveloper.tiktok.TikTokLiveException; import java.net.http.WebSocket; import java.nio.ByteBuffer; import java.util.ArrayList; +import java.util.Base64; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; @@ -21,7 +23,7 @@ public class TikTokWebSocketListener implements java.net.http.WebSocket.Listener @Override public CompletionStage onBinary(WebSocket webSocket, ByteBuffer data, boolean last) { - System.out.println("Received onBinary: " + data + " " + last); + System.out.println("Received onBinary: " + data + " " + last); parts.add(data); webSocket.request(1); if (last) { @@ -50,15 +52,17 @@ public class TikTokWebSocketListener implements java.net.http.WebSocket.Listener private void handleBinary(WebSocket webSocket, ByteBuffer buffer) { try { - WebcastWebsocketMessage websocketMessage = WebcastWebsocketMessage.parseFrom(buffer); + // buffer= Base64.getEncoder().encode(buffer); + ByteString byteString = ByteString.copyFrom(buffer); + WebcastWebsocketMessage websocketMessage = WebcastWebsocketMessage.parseFrom(byteString); if(websocketMessage.getBinary().isEmpty()) { return; } - // System.out.println(websocketMessage.getBinary()); try { var response = WebcastResponse.parseFrom(websocketMessage.getBinary()); + var serverInfo = WebcastWebsocketAck .newBuilder() .setType("ack") @@ -69,13 +73,14 @@ public class TikTokWebSocketListener implements java.net.http.WebSocket.Listener System.out.println("Works"); // handleResponse(response); } catch (Exception e) { - // throw new TikTokLiveException("Unabel to read WebcastResponse"); - System.out.println("Unable to read WebcastResponse"); + throw new TikTokLiveException("Unabel to read WebcastResponse",e); + // System.out.println("Unable to read WebcastResponse"); } } catch (Exception e) { - System.out.println("Unable to read WebcastWebsocketMessage"); - //throw new TikTokLiveException("Unabel to read WebcastWebsocketMessage"); + // System.out.println("Unable to read WebcastWebsocketMessage"); + e.printStackTrace(); + throw new TikTokLiveException("Unabel to read WebcastWebsocketMessage",e); } } diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebsocketClient.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebsocketClient.java index 0752d63..ec87fd8 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebsocketClient.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebsocketClient.java @@ -85,11 +85,7 @@ public class TikTokWebsocketClient { var map = new HashMap(); map.put("Cookie", cookie); - - // System.in.read(); - //var cluent2 = new Client2(URI.create(url), map); - var builder = HttpClient.newHttpClient().newWebSocketBuilder(); - var ws = builder + var ws = factory.openSocket() .subprotocols("echo-protocol") .connectTimeout(Duration.ofSeconds(15)) .header("Cookie", cookie) @@ -101,7 +97,7 @@ public class TikTokWebsocketClient { byte[] message = new byte[]{58, 2, 104, 98}; ByteBuffer buffer = ByteBuffer.wrap(message); while (buffer.hasRemaining()) { - ws.sendPing(buffer).get(); + ws.sendPing(buffer); } buffer.clear(); Thread.sleep(10); diff --git a/Client/src/test/java/io/github/jwdeveloper/tiktok/TikTokLiveTest.java b/Client/src/test/java/io/github/jwdeveloper/tiktok/TikTokLiveTest.java index 3e5f04e..0db1eb2 100644 --- a/Client/src/test/java/io/github/jwdeveloper/tiktok/TikTokLiveTest.java +++ b/Client/src/test/java/io/github/jwdeveloper/tiktok/TikTokLiveTest.java @@ -6,7 +6,7 @@ import java.io.IOException; public class TikTokLiveTest { - public static String TEST_USER_SUBJECT = "erwin_winki"; + public static String TEST_USER_SUBJECT = "live_interactive_"; @Test diff --git a/Client/src/test/java/io/github/jwdeveloper/tiktok/http/TikTokApiServiceTest.java b/Client/src/test/java/io/github/jwdeveloper/tiktok/http/TikTokApiServiceTest.java index 3356551..78abbf1 100644 --- a/Client/src/test/java/io/github/jwdeveloper/tiktok/http/TikTokApiServiceTest.java +++ b/Client/src/test/java/io/github/jwdeveloper/tiktok/http/TikTokApiServiceTest.java @@ -1,8 +1,7 @@ package io.github.jwdeveloper.tiktok.http; import com.google.gson.JsonParser; -import io.github.jwdeveloper.tiktok.live.models.gift.TikTokGift; -import org.java_websocket.WebSocket; + import org.junit.jupiter.api.Test; import java.io.IOException;