java访问远程服务器
⑴ java客户端远程调用C服务器
真没有作过相关的开发,Java和C之间相互调用,本地的使用jni或者是直接发送Windows消息;远程的,都是使用socket通信的。谈一些想法,希望能给你些帮助,纸上谈兵:
1)现在常用的异构系统之间的调用,采用Web Service的方法,没做过,但是应该可以。
2)RMI是Java To Java,另外Sun还提供了RMI-IIOP,这个是综合了RMI和Corba,是可以用在Java和其它语言对象之间的远程调用,但是我没有资料,也许你需要看看Corba的基本知识,如何使用idl来定义C对象的接口.
3)我不知道你对C所在的服务器有什么要求,是否可以运行Java.如果可以,那么有一个方法,你可以做一个Java程序来作为RMI的服务器,然后这个Java程序负责和Java客户通信,通信的方式还是RMI.然后,在这个Java服务程序中,同过jni的方法调用你的C程序.
⑵ Java怎么读取远程服务器上的共享文件夹
ava获取远程文件的方式在我的开发过程中使用过两种
1。通过http请求进行静态资源,首先确定文件的URL地址,然后通过URLConnection进行连接,然后通过读取连接中返回的InputStream,再通过文件输出流FileOutputStream进行存储(下载)。
2.通过FTP或SFTP进行远程文件的下载,具体实现有很多第三方的包,网络即可。
⑶ 通过java如何操作远程的linux服务器中的文件
在Linux服务器上开个FTP吧,然后Java通过FTP去访问。这样比较简单。
通过ssh也可以,找个Java的ssh Jar包
⑷ java网络编程实验题远程访问服务器目录的程序
代码如下。。。我测试过了。。。。下面两个类是在同一台机器上进行测试的,先运行Server.java,再运行Client.java
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Server {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(8080);
Socket socket = ss.accept();
BufferedReader in = //获取客户端发过来的消息
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = //用于向客户端发送消息
new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()),true);
while(true){
String message = in.readLine();//读取消息
if("quit".equals(message))//退出命令
break;
String s[] = message.split("\\s+");
if("dir".equals(s[0])){
File dir = new File(s[1]);
File[] files = dir.listFiles();
//向客户端发送文件消息
for(File file:files){
Date date = new Date(file.lastModified());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//日期格式化
FileInputStream is = new FileInputStream(file);
out.println(file.getName()+"\t"+df.format(date)+"\t"+((is.available()+1023)/1024)+"k");
}
out.println("ok");
}
}
socket.close();
in.close();
out.close();
ss.close();
}
}
-------------------------------------------------------------------------------------------------------------
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws Exception{
InetAddress add = InetAddress.getByName(null);
Socket socket = new Socket(add,8080);
BufferedReader in = //获取服务器端发过来的消息
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = //用于向服务器端发送消息
new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()),true);
out.println("dir d:/test");
String mes;
while(true){
mes = in.readLine();
if("ok".equals(mes))
break;
System.out.println(mes);
}
out.println("quit");
socket.close();
in.close();
out.close();
}
}
希望能帮到你。。。仍有问题可以追问或者直接HI我。。。
⑸ 如何用java程序启动远程的linux服务
你得明白,启动远程的服务,首先得连接到服务器上去。
下面有两种方法:1、通过自定义程序;
2、使用现成的telnet或ssh(推荐)
方法1、首先得看linux服务器的限制,如果服务器允许自定义的登录,
并且你在服务器上运行了一个监听某端口(如1234)的程序,
写一个client端,用socket连接上去,就可以执行了。
方法2、如果服务器支持ssh或者telnet登录,且
允许远程执行脚本的话,可以直接登录进去(当然这算是
使用现成的程序吧,ssh更安全,不过或许不是你想要的。)
有现成的ssh服务,直接使用就是了,自己写的肯定没这个安全~~
要用java的话,应该也有现成的ssh客户端---