2016-07-27 22 views
3

我有一台位于美国的VPS机器(我购买了此服务)。机器每天为我做一些工作,并在一天结束时产生一个对我非常有用的文件。Java:如何将文件的副本从vps机器(可通过远程桌面访问)移动到本地PC

实际上,我必须在一天结束时远程连接机器(使用远程桌面),并在本地PC中手动获取文件。

我是一名Java开发人员,我想开发一个将生成的文件自动转发到本地PC的应用程序(当然只有当我的电脑打开时,否则它会继续尝试转移但没有成功)。

您是否有任何想法可以通过仅使用免费/开源Java库来完成此类任务?

如果应该可以用java来做到这一点,它应该很好,但是如果Java不允许这样做,那么也可以使用其他技术。

回答

0

您所要求的想法在Java中称为套接字编程。是的,有可能做你在想什么,但我会是一个很好的工作。我能做的是,给你一些关于套接字的想法,休息一下,你可以自己设计它。

在这里,我们走了, 对于客户机打开这样的插座,以获取更多信息,您可以refer- http://www.javaworld.com/article/2077322/core-java/core-java-sockets-programming-in-java-a-tutorial.html

Socket MyClient; 
MyClient = new Socket("Machine name", PortNumber); 

异常包括(注意:离线客户端)

Socket MyClient; 
try { MyClient = new Socket("Machine name", PortNumber);} 
catch (IOException e) { 
    System.out.println(e);} 

现在for server

ServerSocket MyService; 
try { MyServerice = new ServerSocket(PortNumber);} 
    catch (IOException e) { 
     System.out.println(e);} 

Socket对象将会listen N个请求从客户端进行,

Socket clientSocket = null; 
try { serviceSocket = MyService.accept();} 
catch (IOException e) { 
    System.out.println(e);} 

现在,在客户端中,创建一个输入流,从服务器

DataInputStream input; 
try { 
    input = new DataInputStream(MyClient.getInputStream()); 
} 
catch (IOException e) { 
    System.out.println(e); 
} 

收到信息在服务器端,使用DataInputStream类从客户端接收输入

DataInputStream input; 
try { 
    input = new DataInputStream(serviceSocket.getInputStream()); 
} 
catch (IOException e) { 
    System.out.println(e); 
} 

@Andrea,真的很抱歉,但我没有达到那个水平,来解决问题。这里只是大一新生。对不起,令人失望。

1

解决方案奏效。对于能够帮助其他人的东西,我提到的最后一个问题就是Windows防火墙已经打开,并且阻止了我的电脑的连接。 通过关闭Windows防火墙,该解决方案起作用。

相关问题