简体   繁体   English

Android Studio-无法连接到LDAP服务器

[英]Android studio - Failed to connect to LDAP server

I want use LDAP in android studio, I use UnboundID LDAP SDK for Java in the latest version. 我想在android studio中使用LDAP,我在最新版本中使用Java的UnboundID LDAP SDK。

I use the command: 我使用以下命令:

LDAPConnection ldap = new LDAPConnection("xxx.xxx.xx.xx", 389,"uid=guest3,ou=Users,dc=gal,dc=local", guest3);

Connection details: 连接详细信息:

  • host: xxx.xxx.xx.xx 主持人:xxx.xxx.xx.xx
  • port: 389 端口:389
  • dn: uid=guest3,ou=Users,dc=gal,dc=local dn:uid = guest3,ou = Users,dc = gal,dc = local
  • password: guest3 密码:guest3

But When I try to connect to the LDAP server, I get the following error: 但是,当我尝试连接到LDAP服务器时,出现以下错误:

LDAPException(resultCode=82 (local error), errorMessage='An error occurred while encoding the LDAP message or sending it to server xx.xxx.xx.xx:389: NetworkOnMainThreadException(trace='onNetwork(StrictMode.java:1303) / socketWrite(SocketOutputStream.java:111) / write(SocketOutputStream.java:157) / flushBuffer(BufferedOutputStream.java:82) / flush(BufferedOutputStream.java:140) / sendMessage(LDAPConnectionInternals.java:580) / sendMessage(LDAPConnection.java:4375) / process(SimpleBindRequest.java:556) / bind(LDAPConnection.java:2270) / bind(LDAPConnection.java:2215) / onClick(LoginActivity.java:57) / performClick(View.java:5610) / run(View.java:22265) / handleCallback(Handler.java:751) / dispatchMessage(Handler.java:95) / loop(Looper.java:154) / main(ActivityThread.java:6077) / invoke(Method.java:native) / run(ZygoteInit.java:866) / main(ZygoteInit.java:756)', ldapSDKVersion=4.0.4, revision=27051)') LDAPException(resultCode = 82(本地错误),errorMessage ='在对LDAP消息进行编码或将其发送到服务器xx.xxx.xx.xx:389时发生错误:NetworkOnMainThreadException(trace ='onNetwork(StrictMode.java:1303)/ socketWrite(SocketOutputStream.java:111)/ write(SocketOutputStream.java:157)/ flushBuffer(BufferedOutputStream.java:82)/ flush(BufferedOutputStream.java:140)/ sendMessage(LDAPConnectionInternals.java:580)/ sendMessage(LDAPConnection.java :4375)/进程(SimpleBindRequest.java:556)/绑定(LDAPConnection.java:2270)/绑定(LDAPConnection.java:2215)/ onClick(LoginActivity.java:57)/ performClick(View.java:5610)/运行(View.java:22265)/ handleCallback(Handler.java:751)/ dispatchMessage(Handler.java:95)/循环(Looper.java:154)/ main(ActivityThread.java:6077)/ invoke(Method.java:本机)/运行(ZygoteInit.java:866)/ main(ZygoteInit.java:756)',ldapSDKVersion = 4.0.4,版本= 27051)')

If anyone know how to remedy this issue, it would be greatly appreciated. 如果有人知道如何解决此问题,将不胜感激。 Thanks in advance! 提前致谢!

NetworkOnMainThreadException Maybe try not to do network on the main thread. NetworkOnMainThreadException也许尝试不要在主线程上进行网络连接。 see for reference 请参阅以供参考

Getting the click event 获取点击事件

  public void onClick(View v) {
  new Thread(new Runnable() {
    public void run() {
      final Bitmap b = loadImageFromNetwork();
      mImageView.post(new Runnable() {
        public void run() {
          mImageView.setImageBitmap(b);
        }
      });
    }
  }).start();
}

The goal of AsyncTask is to take care of thread management for you. AsyncTask的目标是为您处理线程管理。 Our previous example can easily be rewritten with AsyncTask: 我们前面的示例可以轻松地用AsyncTask重写:

public void onClick(View v) {
  new DownloadImageTask().execute("http://example.com/image.png");
}

private class DownloadImageTask extends AsyncTask {
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }

     protected void onPostExecute(Bitmap result) {
         mImageView.setImageBitmap(result);
     }
 }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM