有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过socket发送字符串的java在catch语句中出现null错误

我正在编写一个简单的RSA加密程序,它将通过socket发送编码的消息,但是我在输出流中遇到了一个错误。我不知道类是否正确地传递了字符串,或者输出流是否不工作

import java.util.*;
import java.lang.*;
import java.io.*;
import java.net.*;

public class connect{

    public static Socket socket;

    public connect(Socket t)
    {
        t = socket;
    }


    public void send(String msg)
    {
        try
        {
            OutputStream os = socket.getOutputStream();
            PrintStream out = new PrintStream(os);
            out.print(msg);
            out.flush();


        }catch(Exception e){System.out.println("Error on send : " + e.getMessage());}
    }
}

共 (2) 个答案

  1. # 1 楼答案

    在connect方法中不应该是socket=t吗

  2. # 2 楼答案

    你的socket为空

    在构造函数中

    public connect(Socket t)
    {
        t = socket;
    }
    

    您正在将传递值t设置为相等socket,您需要以另一种方式执行此操作