java.net.http দিয়ে WebSocket client
তৃতীয়-পক্ষের dependency যোগ করার পরিবর্তে standard asynchronous WebSocket client ব্যবহার করুন।
কোড তুলনা
✕ Third-party library
WebSocketClient client =
new WebSocketClient(serverUri) {
@Override
public void onMessage(String message) {
handle(message);
}
};
client.connect();
✓ Java 11+
HttpClient.newHttpClient()
.newWebSocketBuilder()
.buildAsync(serverUri,
new WebSocket.Listener() {
@Override
public CompletionStage<?> onText(
WebSocket socket,
CharSequence data,
boolean last) {
handle(data.toString());
return WebSocket.Listener.super
.onText(socket, data, last);
}
});
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
অতিরিক্ত dependency নেই
WebSocket client-টি JDK-এর সঙ্গেই আসে।
Asynchronous API
Connection এবং message handling CompletionStage-এর সঙ্গে compose করা যায়।
শেয়ারড HTTP stack
Proxy, TLS এবং executor configuration standard JDK facility ব্যবহার করে।
পুরনো পদ্ধতি
তৃতীয়-পক্ষের WebSocket client
আধুনিক পদ্ধতি
java.net.http.WebSocket
JDK থেকে
11
কঠিনতা
মধ্যম
JDK সমর্থন
java.net.http দিয়ে WebSocket client
উপলব্ধ
JDK 11 (সেপ্টেম্বর 2018) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
java.net.http প্যাকেজে standard HTTP client-এর সঙ্গে সমন্বিত একটি asynchronous WebSocket client রয়েছে। CompletableFuture দিয়ে connection স্থাপন করা হয়, listener callback CompletionStage-এর মাধ্যমে non-blocking message processing সমর্থন করে এবং client-টি JDK-এর standard proxy, TLS ও executor configuration শেয়ার করে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ