我希望有一个非常简单的问题。我正在编写一系列Java程序,这些程序使用诸如RSA,El Gamal等加密功能的安全类。这样客户端(Alice)和服务器(Bob)可以安全地通信。但是,我不知道如何使用Java连接到计算机上的服务器。我已经使用MAMP连接到Web服务器,并在其中使用PHP / SQL编写了代码,但是我不知道如何使用Java来工作。具体来说,我获得的所有启动文件都使用Java类Socket和ServerSocket,如下所示:
String host = "localhost";
int port = 7999;
Socket s = new Socket(host, port);
ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());
对于服务器(Bob):
int port = 7999;
ServerSocket s = new ServerSocket(port);
Socket client = s.accept();
ObjectInputStream is = new ObjectInputStream(client.getInputStream());
在我的计算机上通过该代码连接到服务器该怎么办?
答案 0 :(得分:1)
Client.java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws Exception {
String host = "localhost";
int port = 7999;
Socket s = new Socket(host, port);
ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());
os.writeObject("Hello World");
os.close();
}
}
Server.java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws Exception {
int port = 7999;
ServerSocket s = new ServerSocket(port);
Socket client = s.accept();
ObjectInputStream is = new ObjectInputStream(client.getInputStream());
String str = (String)is.readObject();
System.out.println("Read string: " + str);
is.close();
}
}
编译为
javac Client.java
和
javac Server.java
运行服务器(您可以测试此服务器是否在同一台计算机上运行。)
java Server
运行客户端(在另一个终端或DOS提示符下。)
java Client
在服务器上,您应该看到:
server$ java Server
Read string: Hello World
server$