Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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
C++ 使用调试侦听端口启动进程内JVM。如何检查端口是否繁忙_C++_Windows_Port_Jvm Arguments - Fatal编程技术网

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检索此端口号