{"id":14978150,"url":"https://github.com/socketio/engine.io-client-java","last_synced_at":"2025-05-14T05:10:39.121Z","repository":{"id":8162064,"uuid":"9583685","full_name":"socketio/engine.io-client-java","owner":"socketio","description":"Engine.IO Client Library for Java","archived":false,"fork":false,"pushed_at":"2025-02-18T22:01:18.000Z","size":2367,"stargazers_count":364,"open_issues_count":13,"forks_count":171,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-04-12T22:16:44.884Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://socketio.github.io/engine.io-client-java","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/socketio.png","metadata":{"files":{"readme":"README.md","changelog":"History.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-04-21T18:29:32.000Z","updated_at":"2025-04-10T07:55:36.000Z","dependencies_parsed_at":"2025-03-01T01:03:50.513Z","dependency_job_id":"f8095ed4-4f52-4f1b-acab-f0393b03eaed","html_url":"https://github.com/socketio/engine.io-client-java","commit_stats":{"total_commits":284,"total_committers":23,"mean_commits":"12.347826086956522","dds":"0.20774647887323938","last_synced_commit":"8519952a51baff36a2844d726876266b37ad6ffe"},"previous_names":["nkzawa/engine.io-client.java"],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketio%2Fengine.io-client-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketio%2Fengine.io-client-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketio%2Fengine.io-client-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socketio%2Fengine.io-client-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/socketio","download_url":"https://codeload.github.com/socketio/engine.io-client-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T13:56:56.905Z","updated_at":"2025-05-14T05:10:39.092Z","avatar_url":"https://github.com/socketio.png","language":"Java","readme":"# Engine.IO-client Java\n\n[![Build Status](https://github.com/socketio/engine.io-client-java/workflows/CI/badge.svg)](https://github.com/socketio/engine.io-client-java/actions)\n\nThis is the Engine.IO Client Library for Java, which is simply ported from the [JavaScript client](https://github.com/socketio/engine.io-client).\n\nSee also: [Socket.IO-client Java](https://github.com/socketio/socket.io-client-java)\n\n## Table of content\n\n- [Compatibility](#compatibility)\n- [Installation](#installation)\n  - [Maven](#maven)\n  - [Gradle](#gradle)\n- [Usage](#usage)\n- [Features](#features)\n- [License](#license)\n\n## Compatibility\n\n| Client version | Engine.IO server | Socket.IO server |\n| -------------- | ---------------- | ---------------- |\n| 0.9.x  | 1.x | 1.x |\n| 1.x    | 3.x | 2.x |\n| 2.x    | 4.x | 3.x |\n\n## Installation\nThe latest artifact is available on Maven Central.\n\n### Maven\nAdd the following dependency to your `pom.xml`.\n\n```xml\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003eio.socket\u003c/groupId\u003e\n    \u003cartifactId\u003eengine.io-client\u003c/artifactId\u003e\n    \u003cversion\u003e2.1.0\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n### Gradle\nAdd it as a gradle dependency for Android Studio, in `build.gradle`:\n\n```groovy\ncompile ('io.socket:engine.io-client:2.1.0') {\n  // excluding org.json which is provided by Android\n  exclude group: 'org.json', module: 'json'\n}\n```\n\n## Usage\nEngine.IO-client Java has the similar api with the JS client. You can use `Socket` to connect:\n\n```java\nsocket = new Socket(\"ws://localhost\");\nsocket.on(Socket.EVENT_OPEN, new Emitter.Listener() {\n  @Override\n  public void call(Object... args) {\n    socket.send(\"hi\");\n    socket.close();\n  }\n});\nsocket.open();\n```\n\nYou can listen events as follows:\n\n```java\nsocket.on(Socket.EVENT_MESSAGE, new Emitter.Listener() {\n  @Override\n  public void call(Object... args) {\n    String data = (String)args[0];\n  }\n}).on(Socket.EVENT_ERROR, new Emitter.Listener() {\n  @Override\n  public void call(Object... args) {\n    Exception err = (Exception)args[0];\n  }\n});\n```\n\nHow to set options:\n\n```java\nopts = new Socket.Options();\nopts.transports = new String[] {WebSocket.NAME};\n\nsocket = new Socket(opts);\n```\n\nSending and receiving binary data:\n\n```java\nsocket = new Socket();\nsocket.on(Socket.EVENT_OPEN, new Emitter.Listener() {\n  @Override\n  public void call(Object... args) {\n    // send binary data\n    byte[] data = new byte[42];\n    socket.send(data);\n  }\n}).on(Socket.EVENT_MESSAGE, new Emitter.Listener() {\n  @Override\n  public void call(Object... args) {\n    // receive binary data\n    byte[] data = (byte[])args[0];\n  }\n});\n```\n\nUse custom SSL settings:\n\n```java\nOkHttpClient okHttpClient = new OkHttpClient.Builder()\n    .hostnameVerifier(myHostnameVerifier)\n    .sslSocketFactory(mySSLContext.getSocketFactory(), myX509TrustManager)\n    .build();\n\n// default SSLContext for all sockets\nSocket.setDefaultOkHttpWebSocketFactory(okHttpClient);\nSocket.setDefaultOkHttpCallFactory(okHttpClient);\n\n// set as an option\nopts = new Socket.Options();\nopts.callFactory = okHttpClient;\nopts.webSocketFactory = okHttpClient;\nsocket = new Socket(opts);\n```\n\n## Features\nThis library supports all of the features the JS client does, including events, options and upgrading transport. Android is fully supported.\n\n## License\n\nMIT\n\n","funding_links":[],"categories":["网络编程"],"sub_categories":["Spring Cloud框架"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketio%2Fengine.io-client-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsocketio%2Fengine.io-client-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocketio%2Fengine.io-client-java/lists"}