以下是一个使用OkHttp和Socket连接的示例代码:\n\n首先,确保在build.gradle文件中添加OkHttp和Kotlin的依赖项:\n\n\ndependencies {\n implementation 'com.squareup.okhttp3:okhttp:4.9.0'\n implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'\n}\n\n\n然后,在Activity或Fragment中创建一个按钮,并在点击事件中发送数据给服务器:\n\nkotlin\nimport android.os.Bundle\nimport android.widget.Button\nimport androidx.appcompat.app.AppCompatActivity\nimport kotlinx.coroutines.Dispatchers\nimport kotlinx.coroutines.GlobalScope\nimport kotlinx.coroutines.launch\nimport kotlinx.coroutines.withContext\nimport okhttp3.OkHttpClient\nimport okhttp3.Request\nimport okhttp3.WebSocket\nimport okhttp3.WebSocketListener\nimport okio.ByteString\n\nclass MainActivity : AppCompatActivity() {\n\n private lateinit var client: OkHttpClient\n private lateinit var socket: WebSocket\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n\n val connectButton: Button = findViewById(R.id.connectButton)\n connectButton.setOnClickListener {\n connectToServer()\n }\n\n val sendButton: Button = findViewById(R.id.sendButton)\n sendButton.setOnClickListener {\n sendDataToServer()\n }\n }\n\n private fun connectToServer() {\n val request = Request.Builder()\n .url("ws://your_server_url")\n .build()\n\n client = OkHttpClient()\n socket = client.newWebSocket(request, object : WebSocketListener() {\n override fun onOpen(webSocket: WebSocket, response: okhttp3.Response) {\n // 连接成功\n }\n\n override fun onMessage(webSocket: WebSocket, text: String) {\n // 接收到服务器发送的消息\n }\n\n override fun onMessage(webSocket: WebSocket, bytes: ByteString) {\n // 接收到服务器发送的二进制数据\n }\n\n override fun onFailure(webSocket: WebSocket, t: Throwable, response: okhttp3.Response?) {\n // 连接失败\n }\n })\n }\n\n private fun sendDataToServer() {\n GlobalScope.launch(Dispatchers.IO) {\n withContext(Dispatchers.Main) {\n socket.send("Hello, server!") // 发送文本消息给服务器\n // socket.send(ByteString.encodeUtf8("Hello, server!")) // 发送二进制数据给服务器\n }\n }\n }\n}\n\n\n请确保将ws://your_server_url替换为您的服务器URL。注意,这只是一个简单的示例,实际使用时您可能需要处理连接和发送数据的逻辑,并根据服务器响应进行相应的操作。

Android Kotlin OkHttp WebSocket 连接与数据发送教程

原文地址: https://www.cveoy.top/t/topic/qeNv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录