在Android中kotlin不支持Socket IO

我有两个问题

1)我的项目包含dagger2,retofit2,kotlin v1.0.21,rxJava2,OkHttp3我想在我的项目上实现SocketIO如何实现?

2)我尝试了几种方式,但无法连接socketIO所以我尝试下面给出的代码示例代码,但仍然无法连接套接字..请提前帮助thanx

  package com.easymakers.myapplication import android.os.Bundle import android.support.design.widget.Snackbar import android.support.v7.app.AppCompatActivity import android.view.View import io.socket.client.IO import io.socket.client.Socket import io.socket.emitter.Emitter import kotlinx.android.synthetic.main.activity_main.* import javax.net.ssl.SSLContext class MainActivity : AppCompatActivity() { private var socket : Socket? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setSupportActionBar(toolbar) fab.setOnClickListener { view -> connect(view) // connect1() } } private fun connect(view : View) { val opts = IO.Options() opts.port= 5000 opts.reconnection = false // opts.query = socket = IO.socket("https://192.170.1.21",opts) socket?.connect() ?.on(Socket.EVENT_CONNECT, { Snackbar.make(view, "Socket connected", Snackbar.LENGTH_LONG) .setAction("Action", null).show() }) ?.on(Socket.EVENT_DISCONNECT, { println("disconnected") }) } private fun connect1(){ val sc = SSLContext.getInstance("SSL") sc.init(null, null, null) val opts = IO.Options() opts.port = 3000 opts.secure = true opts.forceNew = true opts.reconnection = true val socket = IO.socket("https://103.69.190.10",opts) socket.on("connection", Emitter.Listener { println("Connected") socket.emit("foo", "hi") socket.disconnect() }).on("event", Emitter.Listener { }).on(Socket.EVENT_DISCONNECT, Emitter.Listener { }) socket.connect() } } 

1.1) https://github.com/socketio/socket.io-client-java

摇篮

将其作为Android Studio的Gradle依赖项添加到build.gradle中:

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

Socket.IO服务器1.x支持

当前版本的socket.io-client-java不支持socket.io服务器1.x. 请改用socket.io-client-java 0.9.x。

1.2)在github中你可能会看到: 在这里输入图像说明 这个链接跟着你到支持1.x和更高版本服务器的更新版本。 链接: http : //socketio.github.io/socket.io-client-java/project-summary.html

它有下一个依赖:

 compile 'io.socket:socket.io-client:1.0.0-SNAPSHOT' 

2) https://socket.io/get-started/chat/

下一步你必须启动node.js服务器

集成Socket.IO由两部分组成:

1)与Node.JS HTTP服务器集成(或挂载)的服务器:socket.io

2)在浏览器端加载的客户端库:socket.io-client在开发过程中,socket.io为我们自动服务客户端,我们将会看到,所以现在我们只需要安装一个模块:

 npm install --save socket.io