WebSocket 回声客户端

WebSocket是一种通过TCP的双向通信协议。WebSocket在客户端和服务器之间提供了一个持久的连接。这意味着他们双方可以在任何时候发送数据。

回声客户端连接到回声服务器并发送数据。回声服务器从客户端接收数据并将其发送回来。

使用 Java 的 WebSocket 回声客户端

nv-websocket-客户端

  1. nv-websocket-client在模块的文件中添加依赖项build.gradle

应用程序/build.gradle

dependencies {
    implementation 'com.neovisionaries:nv-websocket-client:2.10'
}
  1. INTERNET在清单文件中添加权限:

app/src/main/AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
  1. WebSocket 回显客户端:

app/src/main/java/com/example/app/MainActivity.java

package com.example.app;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.neovisionaries.ws.client.WebSocket;
import com.neovisionaries.ws.client.WebSocketAdapter;
import com.neovisionaries.ws.client.WebSocketFactory;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public class MainActivity extends AppCompatActivity
{
    private WebSocket ws;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        WebSocketFactory wsFactory = new WebSocketFactory();

        try {
            ws = wsFactory.createSocket("wss://echo.websocket.org");

            ws.addListener(new WebSocketAdapter() {
                @Override
                public void onConnected(WebSocket ws, Map<String, List<String>> headers) {
                    Log.d("MY_APP", "Connected");
                    ws.sendText("Hello");
                }

                @Override
                public void onTextMessage(WebSocket ws, String text) {
                    Log.d("MY_APP", "Message received: " + text);
                }
            });

            ws.connectAsynchronously();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void onDestroy()
    {
        ws.disconnect();
        super.onDestroy();
    }
}

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论