代码之家  ›  专栏  ›  技术社区  ›  maneesh

socketError:权限被拒绝

  •  1
  • maneesh  · 技术社区  · 7 年前

    我试图通过android代码连接到hdfs集群。但我在socketError中面临着这个问题。下面我包括了日志文件和代码。正在正确建立连接,但为连接创建套接字时出现问题。

    Connect_Ssh:
    DllDate: Aug 30 2017
    ChilkatVersion: 9.5.0.69
    UnlockPrefix: Anything for 30-day trial
    Architecture: Little Endian; 32-bit
    Language: Android Java
    VerboseLogging: 0
    connectInner:
    hostname: 202.53.13.23
    port: 1032
    sshConnect:
    connectSocket:
    connect_ipv6_or_ipv4:
    ai_family: 2
    ai_socktype: 1
    ai_protocol: 6
    socketErrno: 13
    socketError: Permission denied
    Failed to create socket for connecting.
    --connect_ipv6_or_ipv4
    --connectSocket
    Failed to establish initial TCP/IP connection
    hostname: 202.53.13.23
    port: 1032
    --sshConnect
    --connectInner
    Failed.
    --Connect_Ssh
    --ChilkatLog
    

    package com.example.sunny.clusteraccess;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import com.chilkatsoft.CkSsh;
    public class MainActivity extends AppCompatActivity {
    private static final String TAG = "Chilkat";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        CkSsh ssh = new CkSsh();
        //  Any string automatically begins a fully-functional 30-day trial.
        boolean success = ssh.UnlockComponent("Anything for 30-day trial");
        if (success != true) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        String hostname;
        int port;
        //  Hostname may be an IP address or hostname:
        hostname = "202.53.13.23";
        port = 22;
    
        success = ssh.Connect(hostname,port);
        if (success != true) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        success = ssh.AuthenticatePw("student","kmit");
        if (success != true) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        Log.e(""+success,"");
        int channelNum;
        channelNum = ssh.OpenSessionChannel();
        if (channelNum < 0) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        success = ssh.SendReqExec(channelNum,"hdfs dfs -ls");
        if (success != true) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        success = ssh.ChannelReceiveToClose(channelNum);
        if (success != true) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        String cmdOutput = ssh.getReceivedText(channelNum,"ansi");
        if (ssh.get_LastMethodSuccess() != true) {
            Log.i(TAG, ssh.lastErrorText());
            return;
        }
        Log.e(TAG, cmdOutput);
        ssh.Disconnect();
    }
    static {
        System.loadLibrary("chilkat");
    }
    }
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   evana priya    7 年前

    你在代码中是否允许上网??尝试将其添加到您的清单中

        <uses-permission android:name="android.permission.INTERNET" />