小弟使用JavaMail编写了一个邮件客户端,当前有一个需求,就是使用多线程连接多个邮件服务器时需要获得每个线程在本地占用的端口号,个人感觉JavaMail API封装的太深,没有给出和Socket相关的接口,所以无法获得客户端的端口号。用Java 本身的API行吗?最好是代码,能够集成在我的程序中!谢了先!

解决方案 »

  1.   

    没有玩过JavaMail 。关注。。
      

  2.   

    调用系统进程中所有占用的端口号 找出是javamail的不行么?
      

  3.   

    如果不好找 可以先用tasklist找出javamail的PID,然后找出netstat与上述PID对应的端口号
    Process pro=Runtime.getRuntime().exec("cmd.exe   /c   tasklist")
    BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line = " ";
    while ((line = input.readLine()) != null)

    //把读出的line取出javamail的PID,
    }
    获取netstat PID对应的端口号仿照上述即可