我使用Oracle官方示例KnockKnockSocket构buildJava套接字。 它接受inputstring作为端口号,并自动启动新线程: KKMultiServerThread KKMultiServer
这很简单。 然而:
我们无法控制如何停止这个java进程并释放这个端口。 从字面上我们可以使用CTRL + C来停止它,但有时候也不能杀死java项目(java可能仍然在后面运行)。 有更好的方法来控制它吗? (任何方法,或API将是伟大的)
我们无法获得套接字服务器的当前状态 – 它仍然活着或停止工作。 有没有简单的方法来监视Java套接字?
我们不能限制线程的数量。 在这个例子中,它使用一个while循环来初始化新线程。 如果同时打开太多的线程,它可能会给套接字服务器造成负担。 如何优雅和专业地限制线程?
谢谢!