Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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 - Fatal编程技术网

Java 套接字和服务器套接字

Java 套接字和服务器套接字,java,sockets,Java,Sockets,我想写一个程序,允许客户端相互连接,如果不太难的话,还可以共享信息/文件。我想让这个概念有点像BitTorrent,其中不涉及服务器。只有客户端也将充当服务器 如果我想使用服务器,那么就很容易开始,因为服务器将使用ServerSocket监听客户机的输入 我的问题是。。。我的客户机/对等机类中是否仍需要有ServerSocket对象?如果没有,每个客户机/对等机将如何相互连接?这里的插座似乎不够 如果有这样的例子,那将是天堂。否则,答案也很好如果它们通过两种方式相互连接,那么它们都需要一个服务器

我想写一个程序,允许客户端相互连接,如果不太难的话,还可以共享信息/文件。我想让这个概念有点像BitTorrent,其中不涉及服务器。只有客户端也将充当服务器

如果我想使用服务器,那么就很容易开始,因为服务器将使用ServerSocket监听客户机的输入

我的问题是。。。我的客户机/对等机类中是否仍需要有ServerSocket对象?如果没有,每个客户机/对等机将如何相互连接?这里的插座似乎不够


如果有这样的例子,那将是天堂。否则,答案也很好

如果它们通过两种方式相互连接,那么它们都需要一个服务器套接字来接受传入的连接。当服务器侦听传入的连接并且客户端连接时,它会创建一个套接字,您可以使用该套接字进行对话,但如果还没有连接,您仍然需要另一端的服务器和客户端套接字来连接到它。我说的是TCP连接。在您使用UDP的情况下,您可以广播并让多个客户端连接到它,这仍然是一个服务器。 所以我认为,如果您在每个对等机上配置服务器和客户机套接字,以便彼此通信并遵循特定的协议,那么您将实现您想要的

我的客户机/对等机类中是否仍需要有ServerSocket对象


是的,你知道。

我为你确定了答案。现在又错了。您完全混淆了Socket和ServerSocket,并且没有服务器或ClientSocket这样的东西-1所以,当你说“服务器”和“客户端套接字”时,你到底是什么意思?JDK中没有这些名称的类。如果你不是说上课,那你是什么意思?为什么资本化?“当客户端连接时”不会创建ServerSocket。我建议你重读你写的东西。这没有道理。你应该恢复到我的编辑,这是正确的。[NB我自己也是一名“ICT工程师”有一段时间了,你在这条防线上走不了多远。也不要费心暗示我的知识不足。我已经写过关于这方面的书。]服务器不要混淆ServerSocket接受传入客户端连接时生成的套接字。区分正在侦听的实例和用于创建实际连接的实例。我认为,这个类的名称并不相关,重要的是概念。所有这些都已经通过您使用的类名称ServerSocket和Socket准确无误地完成了,但是您随后神秘地编辑掉了您的答案,而您使用的其他术语的含义只有您自己知道,并且,您使用适用于类名的约定来拼写,即使您显然不打算将它们作为类名。你只是在制造混乱。我建议你回到我的编辑。如果你现在提供的引文对理解你的答案很重要,那么应该在你的答案中引用。你是否检查了链接并阅读了名字,或者你只是阅读了你的书而忽略了此后的一切?这不是我写的,这是一本“真实”的书中的一个例子,这本书并不像以前那样是关于穿孔卡片的。再次检查,请不要告诉我命名约定。examples.oreilly.com/jenut/Server。java@downvoter请你解释一下。如果他没有服务器插座,对等方就无法连接到他。