使用服务器将数据从一个客户端转发到另一个客户端

时间:2017-04-14 15:46:35

标签: java android sockets client-server wifip2p

我正在创建一个使用wifi直接传输数据的Android应用程序。我能够从客户端向服务器发送数据。我想通过服务器将数据从一个客户端发送到另一个客户端。 让我们假设有两个客户端A和C以及一个服务器B.我想通过B将数据从A发送到C.是否有任何可能的方法来完成此任务。我听到的一件事是来自另一个套接字输出流的输入流的转发数据。任何人都可以帮我解决这个问题。

` protected String doInBackground(Void... params) {
            try {
                ServerSocket serverSocket = new ServerSocket(8988);
                Log.d(WiFiDirectActivity.TAG, "Server: Socket opened");
                Socket client = serverSocket.accept();
                Log.d(WiFiDirectActivity.TAG, "Server: connection done");
                final File f = new File(Environment.getExternalStorageDirectory() + "/"
                        + context.getPackageName() + "/wifip2pshared-" + System.currentTimeMillis()
                        + ".jpg");

                File dirs = new File(f.getParent());
                if (!dirs.exists())
                    dirs.mkdirs();
                f.createNewFile();

                Log.d(WiFiDirectActivity.TAG, "server: copying files " + f.toString());
                InputStream inputstream = client.getInputStream();
                copyFile(inputstream, new FileOutputStream(f));
                serverSocket.close();
                return f.getAbsolutePath();
            } catch (IOException e) {
                Log.e(WiFiDirectActivity.TAG, e.getMessage());
                return null;
            }
        }`

0 个答案:

没有答案