javassl-OpenSSL-Snafu
下面是我找到的一些关于“网络”的代码,我无法让它工作。据我所知,这应该行得通。遗憾的是,当我在OpenSSL工具包中使用s_服务器时,它没有注册连接。服务器是用Cpp编写的,工作得很好(至少我有这么多)。如果有人能为我做出适当的更正,我将不胜感激javassl-OpenSSL-Snafu,java,sockets,ssl,applet,Java,Sockets,Ssl,Applet,下面是我找到的一些关于“网络”的代码,我无法让它工作。据我所知,这应该行得通。遗憾的是,当我在OpenSSL工具包中使用s_服务器时,它没有注册连接。服务器是用Cpp编写的,工作得很好(至少我有这么多)。如果有人能为我做出适当的更正,我将不胜感激 import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; import java.io.*; import java.applet.*; import java.aw
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 );
}
}
如果您将此代码作为小程序运行,则会出现错误,因此不会执行套接字代码。(而且,如果您想在独立应用程序中使用该main方法,那么它需要是
publicstaticvoidmain(String[])
。这显然是服务器代码(SSLServerSocket
)。不确定您正在使用openssl s_server(也是一个服务器)做什么。抱歉,我修复了代码,但遇到了相同的问题。什么不起作用?您是否遇到异常?我严重怀疑它是否“运行良好”,但没有遇到异常,也没有建立连接。您的代码吞并了异常,这可能是您看不到异常的原因(除非您在浏览器中查看java控制台)。此外,您的类扩展了小程序,但您在主方法中有套接字连接,这与小程序无关。您是以小程序还是独立程序的形式运行此程序?