如何将变量值传递给套接字字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将变量值传递给套接字字符串相关的知识,希望对你有一定的参考价值。

我对android开发很陌生,所以这可能是一个愚蠢的问题。我正在使用一个firestone数据库,其中包含特定用户的IP地址和端口。我能够将该值转换为变量,但很难将该值传递给套接字连接。

我试图安排一个公共课而不是保护,并在这个论坛上遵循一些指导,但我认为仍然不清楚如何解决它。


public class DataSender extends AsyncTask<String,Void,Void> {

    Socket s;
    DataOutputStream dataOutputStream;
    PrintWriter printWriter;

    @Override
    protected Void doInBackground(String... voids) {

        String currentuser = FirebaseAuth.getInstance().getCurrentUser().getEmail();
        FirebaseFirestore db = FirebaseFirestore.getInstance();
        DocumentReference docRef = db.collection("User").document(currentuser);
        docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if (task.isSuccessful()) {
                    DocumentSnapshot document = task.getResult();
                    if (document != null) {
                        String UIPaddress = document.getString("ipAddress");
                        String uport = document.getString("port");

                    } else {
                        Log.d("LOGGER", "No such document");
                    }
                } 
            }
        });


        String  messg=voids[0];
        try {

            s=new Socket(UIPaddress ,uport );
            printWriter=new PrintWriter(s.getOutputStream());
            printWriter.write(messg);
            printWriter.flush();
            printWriter.close();
            s.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}


上面的代码抛出错误无法解析符号'UIPaddress'。无法解析符号'uport'。

答案

最后,我能够通过使用Global变量来解决我的问题。希望这会有助于其他新手。

Socket s;
DataOutputStream dataOutputStream;
PrintWriter printWriter;
public static String uIpaddress ;
public static int uport;

以上是关于如何将变量值传递给套接字字符串的主要内容,如果未能解决你的问题,请参考以下文章

将变量值从 JS 传递给 PHP

如何将变量值传递给julia中的宏?

如何将变量值从一个文件中的一个类传递给另一个文件中的另一个类python tkinter

将变量值传递给 paypal API - first_name 和 last_name

通过单击鼠标将变量值传递给java中的servlet

Objective-C,将变量值分配给 plist 字符串