Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later.

Overview
Comments
  • Socket listeners not working but emit does.

    Socket listeners not working but emit does.

    The .on listener never seem to be fired! I've tried multiple versions of socket IO. This is a fantastic library Ive used on javascript. dont know why Java seem to have a problem :( Ive tried extending the Service class. Weird thing is my emits work properly but my .on listeners don't seem to fire at all! Here is the code :

    import io.socket.client.IO;
    import io.socket.client.Socket;
    import io.socket.emitter.Emitter;
    
    public class SocketService extends Service {
        final String TAG="SocketService";
        JSONObject user_data;
        private Socket socket;
    
        private final IBinder mBinder = new MyBinder();
        public class MyBinder extends Binder {
            SocketService getService() {
                return SocketService.this;
            }
        }
    
        @Override
        public void onCreate(){
            super.onCreate();
            try {
                socket = IO.socket("http://serverIP:port/"); //this gets connected
            } catch (URISyntaxException e) {
                e.printStackTrace();
            }
            Log.d(TAG, "onCreate");
            socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
    
                @Override
                public void call(Object... args) {
                    Log.d(getClass().getCanonicalName(), "Connected to server");
                }
    
            }).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
    
                @Override
                public void call(Object... arg0) {
                    Log.d(getClass().getCanonicalName(), "Disconnected from server");
                }
    
            });
            socket.on("friendcall", new Emitter.Listener() {
                @Override
                public void call(Object... args) {
                    JSONObject data = (JSONObject) args[0];
                    Log.d(TAG, "Handling friendcall");
                    try {
                        String callFrom = data.getString("from");
                        Log.d(TAG, "Call from : " + callFrom);
                    } catch (JSONException e) {
                        Log.d(TAG, "friend call object cannot be parsed");
                    }
    
                }
            });
    
            Log.d(TAG, "onStartCommand. Socket should be up");
            socket.connect();
        }
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
    
            Bundle extras = intent.getExtras();
            if(extras!=null){
                try {
                    user_data = new JSONObject(extras.getString("USER_DATA"));
                    socket.emit("giveMeID", user_data.getString("email"));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
    
            return Service.START_NOT_STICKY;
        }
    
    
        @Override
        public IBinder onBind(Intent intent) {
            //TODO for communication return IBinder implementation
            return null;
        }
    
        @Override
        public void onDestroy(){
            socket.disconnect();
            super.onDestroy();
            Log.d(TAG,"onDestroy");
        }
    
    }
    

    lib version tried ,

    compile ('io.socket:socket.io-client:0.6.3') {
            // excluding org.json which is provided by Android
            exclude group: 'org.json', module: 'json'
        }
    

    Also tried the com.github.nkzawa:socket.io-client:0.3.0 package

    opened by kevz93 57
  • Consistent

    Consistent "xhr poll error" is caused by hanging instances of XHRPolling

    #241 may be related

    A consistent "xhr poll error" seems to be caused by hanging connections. The condition is typically caused when manager calls onclose() and interrupts a pending xhr request.

    The error does typically never occur as long as xhr requests are serviced by the server, e.g. a packet is returned while the request is pending. The client then receives the packet and posts a new request.

    Timeouts play a significant role. The client can only recover from the condition, if the maximum timeout imposed by reconnectionDelayMax is large enough to ensure the previous request has been cancelled. If it is still pending, then the new request will immediately fail as well, get stuck, and block the next poll request.

    This is the reason why it sometimes takes extremely long, until a client recovers from disconnects. When connection is retried, the backoff timeout is reset to reconnectionDelay, then increased. Reconnect attempts fail for a long time, until the gap is large enough.

    This issue may exclusively happen or happen worse on Android 4.2 (SKD 17) [probably 4.1-4.3]. As it seems, there is an underlying network problem when handling long-running requests (see #248). I could not see any relationships between size of connection pool and such, but I could see that sometimes multiple requests have been pending in parallel. It looks like it works fine as long as there is a single pending request, but it fails (always or often) if 2 or more long running requests are pending.

    I tried using okhttp-urlconnection instead of Android's HttpUrlConnection, but this did not make it any better. The issue is just better debuggable, but it remains. Another indicator that we probably have a networking issue here.

    How to reproduce:

    • set upgrade = false, so we only have xhr polling

    • open a socket

    • provoke a network outage

    • hope the client goes into the "xhr poll error" loop

    • watch how it does not recover

    • in Manager, set a breakpoint AFTER this line:

      `this.reconnecting = true; // ln 501`
      
    • wait long enough to ensure all pending xhr connections have been timed out

    • keep running the code

    • watch how the client reconnects and recovers

    opened by oliverhausler 43
  • Socket.IO-client.java disconnect and reconnect repeatedly

    Socket.IO-client.java disconnect and reconnect repeatedly

    I am using socket.io 1.2.1 on my node server and the android socket connects with the server fine but after some minutes it automatically disconnect and reconnect repeatedly. Whats wrong with my code? i am using socket.io-client-0.1.1.jar, engine.io-client-0.2.1.jar and Java-WebSocket-1.3.0.jar libraries. here is the java code

        private void socketTest() throws URISyntaxException{
        socket = IO.socket("http://192.168.169.2:8082");
        socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
    
          @Override
          public void call(Object... args) {
            socket.emit("test", "awesome");
    
          }
    
        }).on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
    
          @Override
          public void call(Object... args) {}
    
        });
        socket.connect();
    
       }
    

    and here is the server side code

      io.on('connection', function (socket) {
        console.log('a user connected');
        socket.on('disconnect', function () {
           console.log('user disconnected');
        });
        socket.on('test',function(msg){
           console.log("This is "+msg);
        });
       });
    

    and the logs screenshot on the server

    stack

    Question link on stackoverflow

    bug 
    opened by miqe 35
  • OkHttp connections do not seem to be closed

    OkHttp connections do not seem to be closed

    My application show the follow log:

    01-26 14:32:47.975 14396-16699/com.closic W/OkHttpClient: A connection to https://localhost:3101/ was leaked. Did you forget to close a response body?
    

    3101 is the Socket.io port. Can you check if all connections are closed?

    opened by sandrocsimas 34
  • java.net.MalformedURLException: Unknown protocol: ws

    java.net.MalformedURLException: Unknown protocol: ws

    Hi. i try to connect to socket server which start with "ws://..." and when I set this url to

     IO.socket(pathSocket, options);
    

    I receive error

     java.lang.RuntimeException: java.net.MalformedURLException: Unknown protocol: ws
     W/System.err﹕ at io.socket.client.Url.parse(Url.java:52)
     W/System.err﹕ at io.socket.client.IO.socket(IO.java:60)
     W/System.err﹕ at io.socket.client.IO.socket(IO.java:41)
    
    bug 
    opened by Zo2m4bie 33
  • disconnecting unexpectedly

    disconnecting unexpectedly

    After a period the application disconnecting from the server, and i can't produce a pattern for this disconnection. i am implementing chat application due to this disconnection i find the users disconnected unexpectedly. so what i should i do to solve this case ?

    Another issue. when i send message i can't know if it arrived to the other side or not ? is there a callback functions in the emit request guide me if it failed to reach or not ?

    duplicate 
    opened by MohamedHatemAbdu 33
  • Unable to connect using https

    Unable to connect using https

    /I am using node.js server side and android and another node.js client side web application. The wep application is able to connect securely while the android application is just giving an timeout error./

    //The code for creating sslcontext Log.d(TAG,"setupContext"); //Using a client certificate String password = "password" KeyStore keyStore = KeyStore.getInstance("PKCS12"); InputStream is = context.getResources().openRawResource(R.raw.client_crt); keyStore.load(is, password.toCharArray()); is.close();

        KeyManagerFactory kmf = KeyManagerFactory.getInstance("X509");
        kmf.init(keyStore, password.toCharArray());
        KeyManager[] keyManagers = kmf.getKeyManagers();
    
        // Load CAs from an InputStream
        // (could be from a resource or ByteArrayInputStream or ...)
        CertificateFactory cf = CertificateFactory.getInstance("X.509");
        // Using self signed certificate
        is = context.getResources().openRawResource(R.raw.cacert);
        InputStream caInput = new BufferedInputStream(is);
        Certificate ca;
        ca = cf.generateCertificate(caInput);
        Log.i(TAG,"ca=" + ((X509Certificate) ca).getSubjectDN());
        caInput.close();
    
    
        // Create a KeyStore containing our trusted CAs
        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
        trustStore.load(null);
        trustStore.setCertificateEntry("ca", ca);
    
        // Create a TrustManager that trusts the CAs in our KeyStore
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
        tmf.init(trustStore);
        TrustManager[] trustManagers =  tmf.getTrustManagers();
    
        // Create an SSLContext that uses our TrustManager
        SSLContext sslcontext = SSLContext.getInstance("TLS");
    
        sslcontext.init(keyManagers, trustManagers, null);
    
        IO.Options opts = new IO.Options();
        opts.forceNew = true;
        opts.reconnection = false;
        opts.sslContext = mSslContext;
        opts.secure=true;
        mSocket = IO.socket("https://" + mIpAddress + ":" + mPort+"/", opts);
        mSocket.connect();
        mSocket.on(Socket.EVENT_CONNECT, mConnectionListener);
        mSocket.on(Socket.EVENT_DISCONNECT,mDisconnectionListener);
        mSocket.on(Socket.EVENT_ERROR,mErrorListener);
        mSocket.on(Socket.EVENT_MESSAGE,mMessageListener);
        mSocket.on(Socket.EVENT_CONNECT_ERROR,mConnectionErrorListener);
    
         // I never get call for EVENT_CONNECT
    

    ///////////////////////////SERVER CODE/////////////////////////////////////////////// var privateKey = fs.readFileSync('certificates/server.key').toString(); var certificate = fs.readFileSync('certificates/server.crt').toString(); var ca = fs.readFileSync('certificates/cacert.pem').toString(); // Sending and receiving events with Socket.IO var app = express(); https.globalAgent.options.rejectUnauthorized = false; var server = https.createServer({key:privateKey,cert:certificate,ca:ca },app); // var server = require('http').Server(app); exports.io = require('./sockets').listen(server); //Server is listening on port 3000

    Please tell a way to enable logs in android app for socket.io and possible cause of this problem. There is no activity in node.js terminal as if the socket never got a call after using https it work fine if I use http Thanks and regards, Anshul

    opened by anshulvij 28
  • Websocket Upgrade https

    Websocket Upgrade https

    I've been having an issue with this library and https for quite a while now. When attempting to connect to my node.js server over https the connection never upgrades to a Websocket and permanent uses xhr polling. This is with both https termination on HAPROXY and a direct connection to a node server running the https itself. As soon as I remove https and connect via https the connection instantly upgrades to a Web socket. Having had a look at the logs the client probes correctly and creates a Web socket Transport. This transport immediately errors and the client falls back to xhr polling. The only success I had was giving IO an sslcontext which accepted all certs and host names (My Certificate is a valid one and trusted by Android by defualt) and setting the only transport to Web socket. Now the first time this is run it gets into a infinite Web socket loop and starts leaking memory. However on later attempts having been restarted the client does sometimes connect correctly via a Web socket. Having looked at the Engine.io source the Web socket is failing the ping/pong probe when using https. I've personally exhausted all things I can think of and any help would be much appreciated - I can provide any logs if you need them. It just seems odd that it upgrades perfectly on http and adding ssl breaks it immediatlty

    opened by KieranWebber 27
  • Multiple connections from a single client

    Multiple connections from a single client

    image

    socket.io-client-java: v0.7.0 socket.io(nodejs): v1.3.7 sticky-session: v0.1.0 nginx: v1.6.2

    mobile network: edge, ping 1s-6s (sometimes up to 16sec). connecting over http.

    Typical scenario:

    • client connected
    • ping
    • pong (about 2s)
    • ping
    • pong (about 2s)
    • ping (up to 16s)
    • no answer, reconnect and then we can see multiple connections for some time, after this user restart app and all work normal.

    Our app has subscribed on events: connected, disconnected, reconnect and logs them. We are using https://logentries.com/ to collect logs from out clients and there are about 50 connections for 2 hours. at the same time to the server 8 in the second connections it has been reported.

    We store our connection in service.

    needs investigation 
    opened by Garffan 24
  • com.github.nkzawa.engineio.client.EngineIOException: xhr post error

    com.github.nkzawa.engineio.client.EngineIOException: xhr post error

    Hi, I am using this library to connect to the v 1.3.3 socketIO server. The device gets connected initially which is great and immediately gets disconnected. I am getting the following error. com.github.nkzawa.engineio.client.EngineIOException: xhr post error

    Has anyone come across this issue before? Any help appreciated. Thanks.

    opened by sanakanchha 24
  • Unable to create a connection

    Unable to create a connection

    Hi, I am trying to connect to my socket server using socket-io library. But I am getting SocketIOException. Please suggest the reason. I am using the below jar files downloaded from "http://mvnrepository.com/artifact/com.github.nkzawa/socket.io-client" engine.io-client-0.3.1.jar socket.io-client-0.3.0.jar Java-WebSocket-1.3.0.jar

    On the other hand, everything is working fine in phonegap app for ios using nodeJs. But I am unable to connect in android native app. I also tried with this library "https://github.com/Gottox/socket.io-java-client". but no success. Please suggest the way so that I can implement this.

    opened by Ahmad19860 24
  • Required onAny Function in Version 1x

    Required onAny Function in Version 1x

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    enhancement 
    opened by irshadir7 0
  • Server Error after SDK upgrade

    Server Error after SDK upgrade

    After updating to 2.1.0 socket is not connecting. getting server error. i would like to use onAny function which is only available in latest version only.

    image

    kindly help me

    bug 
    opened by irshadir7 1
  • Official Support for Kotlin Client

    Official Support for Kotlin Client

    Is your feature request related to a problem? Please describe. No official support for Kotlin.

    Describe the solution you'd like I think it would be helpful to programmers who design apps with Kotlin, as it is becoming more accepted choice for development.

    Describe alternatives you've considered Considered using Java, but want to move away from it. There are also not many quality Kotlin documents that can assist with the coding for this package.

    Additional context None at the moment.

    enhancement 
    opened by Mathiaszero 0
  • NullPointerException in Socket.java

    NullPointerException in Socket.java

    Describe the bug Sometimes there is a crash when trying to connect while there is no connectivity (Android device in airplane mode)

    To Reproduce

    Please fill the following code example: Line 232 in Socket.java

    Socket.IO client version: 2.1.0

    Java client

    public void run() {
          // remove the ack from the map (to prevent an actual acknowledgement)
          acks.remove(ackId);
    
          // remove the packet from the buffer (if applicable)
          Iterator<Packet<JSONArray>> iterator = sendBuffer.iterator();
          while (iterator.hasNext()) {
              if (iterator.next().id == ackId) {
                  iterator.remove();
              }
          }
    
          ackWithTimeout.onTimeout();
      }
    

    The crash is happening when accessing iterator.next().id It happened once on an obfuscated build, this is the stacktrace:

    ava.lang.NullPointerException: Attempt to read from field 'int io.socket.parser.Packet.b' on a null object reference in method 'void io.socket.client.Socket$6$1.run()'
    	at io.socket.client.Socket$6$1.run(SourceFile:4)
    	at java.util.TimerThread.mainLoop(Timer.java:563)
    	at java.util.TimerThread.run(Timer.java:513)
    
    

    Expected behavior Failed connection without crashing

    Platform:

    • Device: Samsung A52
    • OS: Android 12

    Additional context Looks like one of the items in the iterator is null

    bug 
    opened by mega-arbuz 0
  • Transport close when using 2.1.0 client send big message to 4.5.2 NodeJS server

    Transport close when using 2.1.0 client send big message to 4.5.2 NodeJS server

    Describe the bug When i try to send message to NodeJS Socket.io Server, small message (< 32MB) is succeed but when payload more than 32MB => disconnect event fired with reason transport close. Sometime it send 1st big message succeed and another fail because timeout (client auto reconnect after disconnected)

    Note: I also implemented ACK in both server and client

    To Reproduce

    Socket.IO server version: 4.5.2 with Express

    Server

    import { Server } from "socket.io";
    
    const io = new Server(http, {
    	cors: {
    		origin: "*"
    	},
    	maxHttpBufferSize: 1e8,
    	pingTimeout: 60000,
    	pingInterval: 60000,
    	upgradeTimeout: 30000,
    	transport: ["websocket", "polling"]
    })
    

    Socket.IO java client version: 2.1.0

    Client

    public class MyApplication {
        public static void main(String[] args) throws URISyntaxException {
            IO.Options options = IO.Options.builder().build();
            Socket socket = IO.socket("http://localhost:8081", options);
            socket.connect();
            socket.on(Socket.EVENT_DISCONNECT, msg -> log.info("Disconnected with socket server. Reason: {}", msg));
    	String msg = generateStringSize(1024 * 1024 * 32);
    	for(int i=0; i<10; i++) {
    		socket.emit("test", msg, new AckWithTimeout(20000) {
    			@Override
    			public void onSuccess(Object ...args) {
    				log.info("Send succeed");
    			}
    			
    			@Override
    			public void onTimeout() {
    				log.info("Send failed");
    			}
    		});
    	}
    	socket.close();
        }
    
        private String generateStringSize(int bytes) {
    	    StringBuilder builder = new StringBuiler;
    	    for(int i=0; i<bytes/2; i++) {
    		    builder.append("a");
    	    }
    	    return builder.toString();
        }
    }
    
    bug 
    opened by conan13101998 4
  • 2.1.0 client doesn't connect to 4.5.2 node server, no errors [kotlin]

    2.1.0 client doesn't connect to 4.5.2 node server, no errors [kotlin]

    Server:

        "socket.io": "4.5.2",  
        "socket.io-client": "4.5.2", 
    

    JS/Postman client connects correctly to server. Kotlin client does nothing. No callbacks are executed, socket.connected stays false.

    jvm: openjdk-18.0.1.1
    paltform/os: ubuntu 21.10 (it's not Android client)

    import io.socket.client.IO
    import io.socket.client.Socket
    import java.net.URI
    
    class ServiceEndpoint() {
        private var socket: Socket
        private var uri: URI = URI.create("ws://localhost:3333/")
    
        init {
            var options = IO.Options.builder().build()
            socket = IO.socket(uri, options)
            socket.on(Socket.EVENT_CONNECT) { println("Socket connected!") }
            socket.on(Socket.EVENT_CONNECT_ERROR) {args -> println("connection failed: $args")}
            socket.io().on(Manager.EVENT_ERROR) { args -> println("error: $args")}
        }
    
        fun run(){
            socket.connect() 
            socket.emit("status", "hello")
        }
    
    }
    
    question 
    opened by prodrive11 0
Releases(socket.io-client-2.1.0)
  • socket.io-client-2.1.0(Jul 10, 2022)

    Bug Fixes

    • ensure randomizationFactor is always between 0 and 1 (0cbf01e)
    • prevent socket from reconnecting after middleware failure (95ecf22)
    • increase the readTimeout value of the default OkHttpClient (fb531fa) (from engine.io-client)

    Features

    This feature allows to send a packet and expect an acknowledgement from the server within the given delay.

    Syntax:

    socket.emit("hello", "world", new AckWithTimeout(5000) {
        @Override
        public void onTimeout() {
            // ...
        }
    
        @Override
        public void onSuccess(Object... args) {
            // ...
        }
    });
    
    • implement catch-all listeners (c7d50b8)

    Syntax:

    socket.onAnyIncoming(new Emitter.Listener() {
        @Override
        public void call(Object... args) {
            // ...
        }
    });
    
    socket.onAnyOutgoing(new Emitter.Listener() {
        @Override
        public void call(Object... args) {
            // ...
        }
    });
    

    Links

    Source code(tar.gz)
    Source code(zip)
  • socket.io-client-1.0.2(Jul 10, 2022)

  • socket.io-client-2.0.1(Apr 26, 2021)

  • socket.io-client-2.0.0(Dec 15, 2020)

    This release is compatible with Socket.IO v3: https://socket.io/blog/socket-io-3-release/

    Migration guide: http://socketio.github.io/socket.io-client-java/migrating_from_1_x.html

    Features

    Links

    Source code(tar.gz)
    Source code(zip)
  • socket.io-client-1.0.1(Dec 15, 2020)

A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.

TLS Channel TLS Channel is a library that implements a ByteChannel interface over a TLS (Transport Layer Security) connection. It delegates all crypto

Mariano Barrios 149 Dec 31, 2022
An netty based asynchronous socket library for benchion java applications

Benchion Sockets Library An netty based asynchronous socket library for benchion java applications ?? Documents ?? Report Bug · Request Feature Conten

Fitchle 3 Dec 25, 2022
This is library that look like Scarlet Wrapper Socket.io

This is library that look like Scarlet Wrapper Socket.io

Adkhambek 8 Jan 2, 2023
Socket.IO server implemented on Java. Realtime java framework

Netty-socketio Overview This project is an open-source Java implementation of Socket.IO server. Based on Netty server framework. Checkout Demo project

Nikita Koksharov 6k Dec 30, 2022
jRT measures the response time of a java application to socket-based requests

jRT Version: 0.0.1 jRT is a instrumentation tool that logs and records networking I/O operations "response times" (applicaion response time if be corr

null 45 May 19, 2022
BAIN Social is a Fully Decentralized Server/client system that utilizes Concepts pioneered by I2P, ToR, and PGP to create a system which bypasses singular hosts for data while keeping that data secure.

SYNOPSIS ---------------------------------------------------------------------------------------------------- Welcome to B.A.I.N - Barren's A.I. Natio

Barren A.I. Wolfsbane 14 Jan 11, 2022
A simple Socket program with GUI.

Socket A simple Socket program with GUI (by using swing). Suggest to open the folder 'Socket'(TCP) or 'SocketUDP' with IDEA There're 2 methods to run

Lu Yang 2 Sep 21, 2022
Telegram API Client and Telegram BOT API Library and Framework in Pure java.

Javagram Telegram API Client and Telegram Bot API library and framework in pure Java. Hello Telegram You can use Javagram for both Telegram API Client

Java For Everything 3 Oct 17, 2021
Asynchronous Http and WebSocket Client library for Java

Async Http Client Follow @AsyncHttpClient on Twitter. The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and a

AsyncHttpClient 6k Dec 31, 2022
TCP/UDP client/server library for Java, based on Kryo

KryoNet can be downloaded on the releases page. Please use the KryoNet discussion group for support. Overview KryoNet is a Java library that provides

Esoteric Software 1.7k Jan 2, 2023
A simple minecraft mod for 1.12.2 which logs sent and received packets.

Packet-Logger A simple minecraft mod for 1.12.2 which logs sent and received packets. Usage You must have Forge 1.12.2 installed. Download the jar fro

null 14 Dec 2, 2022
Apache MINA is a network application framework which helps users

Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily

The Apache Software Foundation 846 Dec 20, 2022
A network core plugin for the Spigot which best Experience for Minecraft Servers.

tCore The core plugin for Spigot. (Supports 1.8.8<=) 大規模サーバー、ネットワーク等の中核となるプラグインです。プロトコルバージョン 1.8 未満での動作は確認していません。かなりの量のソースになりますが、様々な機能が実装されています。中身自体は過

null 6 Oct 13, 2022
A simple Discord bot, which shows the server status of the Lost Ark server Beatrice

Beatrice A simple Discord bot, which shows the server status of the Lost Ark server Beatrice. Example Usage Clone the repository. Edit the property fi

Leon 3 Mar 9, 2022
A barebones WebSocket client and server implementation written in 100% Java.

Java WebSockets This repository contains a barebones WebSocket server and client implementation written in 100% Java. The underlying classes are imple

Nathan Rajlich 9.5k Dec 30, 2022
A small java project consisting of Client and Server, that communicate via TCP/UDP protocols.

Ninja Battle A small java project consisting of Client and Server, that communicate via TCP/UDP protocols. Client The client is equipped with a menu i

Steliyan Dobrev 2 Jan 14, 2022
Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

OkHttp See the project website for documentation and APIs. HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP

Square 43.4k Jan 9, 2023
IoT Platform, Device management, data collection, processing and visualization, multi protocol, rule engine, netty mqtt client

GIoT GIoT: GIoT是一个开源的IoT平台,支持设备管理、物模型,产品、设备管理、规则引擎、多种存储、多sink、多协议(http、mqtt、tcp,自定义协议)、多租户管理等等,提供插件化开发 Documentation Quick Start Module -> giot-starte

gerry 34 Sep 13, 2022
Proteus Java Client

Netifi Proteus Java This project has been moved to https://github.com/netifi/netifi-java Build from Source Run the following Gradle command to build t

netifi-proteus 42 Nov 20, 2020