oYangGuo12345 2015-12-25 07:13 采纳率: 0%
浏览 1979

java socket 端口转发遇到的问题

下面的程序运行之后,没有办法通过8081端口连上数据库服务器,这是为什么呢

package mis.client;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.InterruptedIOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

import lcc.SysLog;

public class Client {

public static void main(String[] args) throws Exception {

    Socket toDb = new Socket("10.11.112.48", 1521);
    ServerSocket serverServer = new ServerSocket(8081);

    Socket toServer = serverServer.accept();

    InputStream toDbInStream = toDb.getInputStream();
    OutputStream toDbOutStream = toDb.getOutputStream();        


    InputStream toServerInStream = toServer.getInputStream();
    OutputStream toServerOutStream = toServer.getOutputStream();    

    System.out.println("客户端初始化完成");

    pipe(toDbInStream,toServerInStream,toServerOutStream,toDbOutStream);







}

private static void pipe(InputStream is0, InputStream is1, OutputStream os0,OutputStream os1) {
    try {
        int ir;
        byte bytes[] = new byte[1024];
        System.out.println(0);
        while (true) {
            try {
                if ((ir = is0.read(bytes)) > 0) {
                    System.out.println(1);
                    os0.write(bytes, 0, ir);
                } else if (ir < 0) {
                    break;
                }
            } catch (InterruptedIOException e) {
                System.out.println("error--1");
            }
            try {
                if ((ir = is1.read(bytes)) > 0) {
                    System.out.println(2);
                    os1.write(bytes, 0, ir);
                } else if (ir < 0) {
                    break;
                }
            } catch (InterruptedIOException e) {
                System.out.println("error--2");
            }

        }
    } catch (Exception e0) {
    }
}   

}
补充:我程序的意图是把目标服务器1521端口的的数据转发的本地8081端口上,然后我用plsql工具去连库,程序只负责转发数据,现在的情况是数据没有转发过来

  • 写回答

2条回答 默认 最新

  • LBL121520 2015-12-25 08:03
    关注

    如果你的程序只有这些,是注定连不上的,数据库连接你可以暂时用jdbc。而且你这里只有数据库的ip和端口号,没有数据库的用户名密码以及ssid,差太多东西,肯定连不上。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器