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客戶端---