C++ 使用调试侦听端口启动进程内JVM。如何检查端口是否繁忙
我使用函数C++ 使用调试侦听端口启动进程内JVM。如何检查端口是否繁忙,c++,windows,port,jvm-arguments,C++,Windows,Port,Jvm Arguments,我使用函数JNI_CreateJavaVM在windows上创建一个进程内JVM,使其成为一个可执行文件。我还传递了一些选项以启用调试,特别是: -Xrunjdwp:transport=dt_socket,server=y,address=666,suspend=n 还有其他一些选择这很好用 但我遇到的问题是,如果启动两个版本的可执行文件:JNI\u CreateJavaVM崩溃。显而易见的解决方法是检查端口666是否繁忙,如果繁忙,请使用不同的端口号。除了我不知道怎么做 所以,我的问题是:如
JNI_CreateJavaVM
在windows上创建一个进程内JVM,使其成为一个可执行文件。我还传递了一些选项以启用调试,特别是:
-Xrunjdwp:transport=dt_socket,server=y,address=666,suspend=n
还有其他一些选择这很好用
但我遇到的问题是,如果启动两个版本的可执行文件:JNI\u CreateJavaVM
崩溃。显而易见的解决方法是检查端口666是否繁忙,如果繁忙,请使用不同的端口号。除了我不知道怎么做
所以,我的问题是:如何检查端口是否已经被监听?不要提前测试正在使用的端口。只需让您的应用程序做它想做的事情,并在那里捕获异常。在测试和实际尝试使用端口之间,情况可能会发生变化 此外,如果您试图编写服务器应用程序,可以让操作系统自动为您选择一个空闲端口。来自JavaDoc的 创建绑定到指定端口的服务器套接字。端口号0表示自动分配端口号,通常从临时端口范围分配。然后可以通过调用getLocalPort检索此端口号