繁体   English   中英

Java多线程服务器无法正常工作

[英]Java Multithreaded server not working

因此,我尝试使用Java创建服务器/客户端以提高技能。 但是..由于某种原因,尽管每次服务器接受连接时我都会创建一个新线程,但事情只是不起作用,只有一个客户端正在工作。
这是代码:

  while (true) {
            Socket client = null;
            client = server.accept();
            new Thread(new Server(client)).run();
        }

而且我不知道为什么会这样。 我为此使用了一个教程,但是仍然无法正常工作。 谢谢!

因此,这是该问题的解决方案。

“那么start和run方法之间的区别是什么?主要区别是,当程序调用start()方法时,将创建一个新线程,并且在新Thread中执行run()方法中的代码,而如果直接调用run()方法则不会创建线程,并且run()中的代码将在当前线程上执行。引自http://javarevisited.blogspot.com/2012/03/difference-between-start-and-run-method.html

将.run()函数更改为.start()解决了该问题。 请享用。

Kryonet是一个非常好的Java库,它提供了一个简洁的API,可以使用NIO进行有效的TCP和UDP客户端/服务器网络通信。

这将使您的网络编程工作变得更加容易,并且您可以更好地了解如何编写客户端和服务器端代码。

我建议您先尝试使用此库来尝试网络编程技能,然后再尝试实现自己的网络编程技能。

暂无
暂无

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

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