Java 通过套接字发送个性化对象
Java send Personalized Object by socket
我的问题是关于 java 发送个性化对象,
我创建了一个 class Rilevazione,然后我想将一个对象 Rilevazione 发送到读取该对象并打印它的客户端。
这里是服务器:
try
{
ServerSocket welcomeSocket = new ServerSocket(50000);
while (true)
{
// Create the Client Socket
Socket client = welcomeSocket.accept();
System.out.println("Socket Extablished...");
// Create input and output streams to client
ObjectOutputStream outToClient = new ObjectOutputStream(client.getOutputStream());
ObjectInputStream inFromClient = new ObjectInputStream(client.getInputStream());
Rilevazione rl=new Rilevazione();
outToClient.writeObject(rl);
}
}
catch (Exception e)
{
System.err.println("Server Error: " + e.getMessage());
System.err.println("Localized: " + e.getLocalizedMessage());
System.err.println("Stack Trace: " + e.getStackTrace());
System.err.println("To String: " + e.toString());
}
这里是客户:
try
{
Socket clientSocket = new Socket(HOST, 50000);
// Create the input & output streams to the server
ObjectInputStream inFromServer = new ObjectInputStream(clientSocket.getInputStream());
Rilevazione rl=(Rilevazione)inFromServer.readObject();
inFromServer.close();
clientSocket.close();
rl.printit();
}
catch (IOException | ClassNotFoundException e)
{
System.err.println("Client Error: " + e.getMessage());
System.err.println("Localized: " + e.getLocalizedMessage());
System.err.println("Stack Trace: " + e.getStackTrace());
}
java 编译器给我一个错误:
error: cannot find symbol
Rilevazione rl=(Rilevazione)inFromServer.readObject();
^
为什么?
谁能帮我?
对象是否必须序列化而不是反序列化?
ps:文件结构:
src >performancethinclient->- files.class
正如你告诉我的,如果 类 都在同一个包中,你可以使用以下命令进行编译:
javac -cp . *.java
要 运行 您的应用程序,请转到根文件夹并 运行 以下内容:
java -cp . performancethinclient.PerformanceThinClient
我的问题是关于 java 发送个性化对象, 我创建了一个 class Rilevazione,然后我想将一个对象 Rilevazione 发送到读取该对象并打印它的客户端。 这里是服务器:
try
{
ServerSocket welcomeSocket = new ServerSocket(50000);
while (true)
{
// Create the Client Socket
Socket client = welcomeSocket.accept();
System.out.println("Socket Extablished...");
// Create input and output streams to client
ObjectOutputStream outToClient = new ObjectOutputStream(client.getOutputStream());
ObjectInputStream inFromClient = new ObjectInputStream(client.getInputStream());
Rilevazione rl=new Rilevazione();
outToClient.writeObject(rl);
}
}
catch (Exception e)
{
System.err.println("Server Error: " + e.getMessage());
System.err.println("Localized: " + e.getLocalizedMessage());
System.err.println("Stack Trace: " + e.getStackTrace());
System.err.println("To String: " + e.toString());
}
这里是客户:
try
{
Socket clientSocket = new Socket(HOST, 50000);
// Create the input & output streams to the server
ObjectInputStream inFromServer = new ObjectInputStream(clientSocket.getInputStream());
Rilevazione rl=(Rilevazione)inFromServer.readObject();
inFromServer.close();
clientSocket.close();
rl.printit();
}
catch (IOException | ClassNotFoundException e)
{
System.err.println("Client Error: " + e.getMessage());
System.err.println("Localized: " + e.getLocalizedMessage());
System.err.println("Stack Trace: " + e.getStackTrace());
}
java 编译器给我一个错误:
error: cannot find symbol
Rilevazione rl=(Rilevazione)inFromServer.readObject();
^
为什么? 谁能帮我? 对象是否必须序列化而不是反序列化?
ps:文件结构: src >performancethinclient->- files.class
正如你告诉我的,如果 类 都在同一个包中,你可以使用以下命令进行编译:
javac -cp . *.java
要 运行 您的应用程序,请转到根文件夹并 运行 以下内容:
java -cp . performancethinclient.PerformanceThinClient