相关疑难解决方法(0)

正确关闭SSLSocket

我想在Java中实现SSL代理.我基本上打开两个套接字browser-proxy,proxy-server然后运行两个线程来写入proxy-server它们读取的内容browser-proxy,反之亦然.每个线程看起来像这样:

while (true) {
   nr = in.read(buffer);
   if (nr == -1) System.out.println(sockin.toString()+" EOF  "+nr);
   if (nr == -1) break;
   out.write(buffer, 0, nr);
}
sockin.shutdownInput();
sockout.shutdownOutput(); // now the second thread will receive -1 on read
Run Code Online (Sandbox Code Playgroud)

每个线程只关闭输入套接字,以便最终关闭两个套接字.

但是,如果我想使用它,我该怎么办SSLSocket?似乎shutdownOutput/Input那里不支持这些方法.这是我得到的例外.

Exception in thread "Thread-35" java.lang.UnsupportedOperationException: \
The method shutdownInput() is not supported in SSLSocket
    at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.shutdownInput(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我想出的是:

try {
    while (true) {
       nr = in.read(buffer);
       if (nr == -1) System.out.println(sockin.toString()+" …
Run Code Online (Sandbox Code Playgroud)

java sockets ssl

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

sockets ×1

ssl ×1