Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
在java中,同一个程序可以作为其他程序的服务器和客户端运行吗?_Java_Sockets_Network Programming - Fatal编程技术网

在java中,同一个程序可以作为其他程序的服务器和客户端运行吗?

在java中,同一个程序可以作为其他程序的服务器和客户端运行吗?,java,sockets,network-programming,Java,Sockets,Network Programming,我正在解决这个问题,我在网络上有两台机器。它们应该通过套接字相互通信。所以基本的想法是,在每台机器上运行的程序都应该像客户端和服务器一样工作?有可能吗?如果是,有人能告诉我适当的资源吗 是的,这是可能的。但是,您必须在不同的线程中同时具有这两种功能。您可能需要研究一下注意,允许Java使用标准的非阻塞IO——允许Java程序避免多线程。“此时,您必须等待选择器告诉您已注册频道上何时发生感兴趣的事件。选择器的select方法将阻塞,直到发生有趣的事情。要了解这一点,您可以在自己的线程中放置一个wh

我正在解决这个问题,我在网络上有两台机器。它们应该通过套接字相互通信。所以基本的想法是,在每台机器上运行的程序都应该像客户端和服务器一样工作?有可能吗?如果是,有人能告诉我适当的资源吗


是的,这是可能的。但是,您必须在不同的线程中同时具有这两种功能。

您可能需要研究一下

注意,允许Java使用标准的非阻塞IO——允许Java程序避免多线程。“此时,您必须等待选择器告诉您已注册频道上何时发生感兴趣的事件。选择器的select方法将阻塞,直到发生有趣的事情。要了解这一点,您可以在自己的线程中放置一个while(selector.select()>0)循环,然后在处理I/O事件时开始执行自己的操作。select方法在发生某些事情时返回,其中返回的值是准备好执行操作的通道数。但这个值实际上并不重要。”-