Java SSL -OpenSSL- Snafu

标签 java sockets ssl applet

下面是我在网上找到的一些代码,但我无法让它工作。据我所知它应该工作。遗憾的是,当我在 OpenSSL 工具包中使用 s_server 时,它没有注册连接。服务器是用 Cpp 编写的并且运行良好(至少我有那么多)。任何人都可以为我做出适当的更正,将不胜感激。

import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.*;

import java.applet.*;
import java.awt.*;


public class jclientssl extends Applet {

    public static void main() {

        try {
            SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
            SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("localhost", 9999);

            InputStream inputstream = System.in;
            InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
            BufferedReader bufferedreader = new BufferedReader(inputstreamreader);

            OutputStream outputstream = sslsocket.getOutputStream();
            OutputStreamWriter outputstreamwriter = new OutputStreamWriter(outputstream);
            BufferedWriter bufferedwriter = new BufferedWriter(outputstreamwriter);

            String string = null;
            while ((string = bufferedreader.readLine()) != null) {
                bufferedwriter.write(string + '\n');
                bufferedwriter.flush();
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    public void paint(Graphics g) {

        g.drawString("Welcome to Java!!", 50, 60 );

    }
}

最佳答案

如果您将此代码作为 Applet 运行,则 main method is irrelevant ,所以你的套接字代码没有被执行。 (而且,如果您想在独立应用程序中使用该 main 方法,则它需要是 public static void main(String[]))。

关于Java SSL -OpenSSL- Snafu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353764/

相关文章:

java - Android 解析错误

java - 如何处理 Selenium Webdriver 中由于服务器响应时间导致的脚本失败?

c++ - 清理窗口套接字内部缓冲区

Azure 未使用正确的证书

google-chrome - ERR_SSL_VERSION_OR_CIPHER_MISMATCH(错误)

java - 更改方法名称会添加不需要的 XML block

Java Class.forName 不会编译。获取 "cannot find symbol symbol : method"

c++ - 如何在C套接字程序中接收HTTP GET和POST请求?

http - 将套接字与进程相关联

perl - 如何将 LWP 与客户端证书和 CA 一起使用