Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务器套接字不接受连接_Java_Android - Fatal编程技术网

Java 服务器套接字不接受连接

Java 服务器套接字不接受连接,java,android,Java,Android,我有以下JAVA代码来创建服务器套接字以侦听传入连接: public class ConnectOracle { public static void main(String[] args) { String driver = "oracle.jdbc.driver.OracleDriver"; // String serverName = "10.11.201.84"; String portNumber = "1521"; String db = "XE"; St

我有以下JAVA代码来创建服务器套接字以侦听传入连接:

public class ConnectOracle {

 public static void main(String[] args) {

  String driver = "oracle.jdbc.driver.OracleDriver"; //

  String serverName = "10.11.201.84";
  String portNumber = "1521";
  String db = "XE";
  String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":"
    + db; // connectOracle is the data
  // source name
  String user = "ORAP"; // username of oracle database
  String pwd = "ORAP"; // password of oracle database
  Connection con = null;
  ServerSocket serverSocket = null;
  Socket socket = null;
  DataInputStream dataInputStream = null;
  DataOutputStream dataOutputStream = null;

  try {
   Class.forName(driver);// for loading the jdbc driver

   System.out.println("JDBC Driver loaded");

   con = DriverManager.getConnection(url, user, pwd);// for
                // establishing
   // connection
   // with database
   Statement stmt = (Statement) con.createStatement();

   serverSocket = new ServerSocket(8888);
   System.out.println("Listening :8888");

   while (true) {
    try {

     socket = serverSocket.accept();
     System.out.println("Connection Created");
     dataInputStream = new DataInputStream(
       socket.getInputStream());
     dataOutputStream = new DataOutputStream(
       socket.getOutputStream());
     System.out.println("ip: " + socket.getInetAddress());
     // System.out.println("message: " +
     // dataInputStream.readUTF());

     ResultSet res=stmt.executeQuery("select * from food_category");
     while(res.next()){
      System.out.println(res.getString(1));
     }

    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }

    if (dataInputStream != null) {
     try {
      dataInputStream.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }

    if (dataOutputStream != null) {
     try {
      dataOutputStream.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   }
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}
在我的Android程序中,我试图与这个JAVA程序建立连接。代码如下:

class ConnectToOracle extends AsyncTask<String, String, String> {

         Socket socket = null;
         DataOutputStream dataOutputStream = null;
         DataInputStream dataInputStream = null;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            ;
        }

        // Download Music File from Internet
        @Override
        protected String doInBackground(String... f_url) {
            try {
                 socket = new Socket("10.11.201.84", 8888);
                 dataOutputStream = new DataOutputStream(socket.getOutputStream());
                 dataInputStream = new DataInputStream(socket.getInputStream());
                 dataOutputStream.writeUTF(textOut.getText().toString());
                 textIn.setText(dataInputStream.readUTF());
            } catch (UnknownHostException e) {
             // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            }
            finally{
                if (socket != null){
                    try {
                        socket.close();
                    } catch (IOException e) {
                 // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
            }

            if (dataOutputStream != null){
                try {
                    dataOutputStream.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

          if (dataInputStream != null){
              try {
                  dataInputStream.close();
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
          }
         }
            return null;

        }


        // Once Music File is downloaded
        @Override
        protected void onPostExecute(String file_url) {
            // Dismiss the dialog after the Music file was downloaded

        }
    }
class ConnectToOracle扩展了异步任务{
套接字=空;
DataOutputStream DataOutputStream=null;
DataInputStream DataInputStream=null;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
;
}
//从Internet下载音乐文件
@凌驾
受保护的字符串doInBackground(字符串…f_url){
试一试{
插座=新插座(“10.11.201.84”,8888);
dataOutputStream=新的dataOutputStream(socket.getOutputStream());
dataInputStream=新的dataInputStream(socket.getInputStream());
dataOutputStream.writeUTF(textOut.getText().toString());
setText(dataInputStream.readUTF());
}捕获(未知后异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
最后{
if(套接字!=null){
试一试{
socket.close();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
如果(dataOutputStream!=null){
试一试{
dataOutputStream.close();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
如果(dataInputStream!=null){
试一试{
dataInputStream.close();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
}
返回null;
}
//下载音乐文件后
@凌驾
受保护的void onPostExecute(字符串文件\u url){
//下载音乐文件后关闭对话框
}
}

但这种联系尚未建立。如何建立连接?任何建议都有很大帮助

显示堆栈跟踪我不在stacktrace中打印任何内容。当我运行Java代码时,它会显示JDBC驱动程序加载侦听:8888您的服务器是否可以通过用于建立连接的设备/模拟器访问?(网络方面)确保服务器防火墙上的端口
8888
已打开我的手机已连接到网络。还有什么我能做的吗?向我们展示堆栈跟踪我不在stacktrace中打印任何东西。当我运行Java代码时,它会说JDBC驱动程序加载侦听:8888您的服务器是否可以通过用于建立连接的设备/模拟器访问?(网络方面)确保服务器防火墙上的端口
8888
已打开我的手机已连接到网络。还有什么我能做的吗?