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_Stream - Fatal编程技术网

Java 心跳协议

Java 心跳协议,java,sockets,stream,Java,Sockets,Stream,我有一个客户端/服务器FTP应用程序,我想实现一个心跳协议来检查连接。我突然想到,如果我使用客户端和服务器用于发送和接收文件的相同输出和输入流,我将遇到一些问题。我不认为我不能打开多个流(除非它们属于不同的类型,如DataOutputStream和ObjectOutputStream)。有办法解决这个问题吗?谢谢 我认为您想要做的是,在两个地方接收相同的流,这是不可能的。最接近这一点的是反向代理流,因此运行反向代理,客户端连接到代理服务(在服务器上运行),代理连接到原始服务 以这种方式,代理应该

我有一个客户端/服务器FTP应用程序,我想实现一个心跳协议来检查连接。我突然想到,如果我使用客户端和服务器用于发送和接收文件的相同输出和输入流,我将遇到一些问题。我不认为我不能打开多个流(除非它们属于不同的类型,如DataOutputStream和ObjectOutputStream)。有办法解决这个问题吗?谢谢

我认为您想要做的是,在两个地方接收相同的流,这是不可能的。最接近这一点的是反向代理流,因此运行反向代理,客户端连接到代理服务(在服务器上运行),代理连接到原始服务

以这种方式,代理应该能够监视连接

如果可以,另一种选择是在服务器的FTP应用程序上运行“管理服务”。因此,修改ftp服务器以打开连接到的另一个端口,以获取管理员信息,例如连接健康状况


第一个解决方案可能需要更多的工作,但如果您没有ftp应用程序的访问权限,则可以使用。源代码。反之亦然。

您试图从何处监视来自客户端或服务器的连接?从服务器。我明白了。所以本质上是在另一个端口上打开另一个ServerSocket,并向该端口报告所有运行状况信息?是的,这就是我的意思。