потоковая передача данных из android через websocket - PullRequest
0 голосов
/ 21 января 2020

Здесь сделан сокет и его потоковая передача в локальной сети, оба устройства должны быть в одной сети, это даст частный IP и порт для подключения, но мне нужно использовать веб-сервер, чтобы устройства могли подключаться, даже если они не находятся в одной сети. .

server = new AsyncHttpServer();
                server.websocket("/", null, websocketCallback);
                serverPort = Integer.parseInt(preferences.getString(SettingsActivity.KEY_PORT_PREF, "6060"));
                bitrateRatio = Float.parseFloat(preferences.getString(SettingsActivity.KEY_BITRATE_PREF, "1"));
                updateNotification("Streaming is live at");
                server.listen(serverPort);
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        showToast("Starting main touch server");
                        new MainStarter(ServerService.this).start();
                        showToast("started main touch server");
                    }
                }).start();
            }

уведомление с частным ip и номером порта для отправки на другое устройство для подключения

    Intent intent = new Intent(this, ServerService.class);
    intent.setAction("STOP");
    PendingIntent stopServiceIntent = PendingIntent.getService(this, 0, intent, 0);
    Notification.Builder mBuilder =
            new Notification.Builder(this)
                    .setSmallIcon(R.drawable.ic_media_stop)
                    .setOngoing(true)
                    .addAction(R.drawable.ic_media_stop, "Stop", stopServiceIntent)
                    .setContentTitle(message)
                    .setContentText(Utils.getIPAddress(true) + ":" + serverPort);
    startForeground(6000, mBuilder.build());
}
...