如何在Java套接字编程中接收对象?

PJA

我是Java网络编程的新手。

我编写了一个简单的客户端-服务器代码,该代码将类的对象从客户端发送到服务器。

我曾经PrintStream发送过对象,没关系,但是使用时无法在服务器上接收到它BufferedReader

客户代码:

public class Client3 {

public String username;
public String password;

public static void main(String argv[]) throws IOException
{
    Client3 account = new Client3();
    account.username = "PJA";
    account.password = "123456";

    Socket s = new Socket("localhost",6000);
    PrintStream pr = new PrintStream(s.getOutputStream());
    pr.println(account);
}

}

服务器代码:

public class Server3 {

public static void main(String argv[]) throws IOException
{
    ServerSocket s1 = new ServerSocket(6000);
    Socket s = s1.accept();
    BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
    Client3 a = new Client3();
    a = in.readLine(); // give a compilation error.

}

}

readline() 抛出编译错误,因为它仅需要一个字符串。

所以我的问题是:“有没有一种方法可以接收类的对象?”

保罗4

问:“是否可以接收类的对象?”

答:是的,有很多方法:

  1. Java RMI

  2. Java SOAP Web服务

  3. 您可以使用本机Java序列化并直接写入Java套接字(基本上是重新发明自己的RMI):http : //www.coderpanda.com/java-socket-programming-transfering-of-java-objects-through- sockets /http://www.jguru.com/faq/view.jsp?EID=10472如果将对象标记为“可序列化”,则只需使用outputStream.writeObject()写入和ObjectInputStream()读取即可。

  4. 您可以将对象状态读取并写入JSON,并通过套接字发送JSON文本:http : //www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/

  5. 等等。等等

选项3)最接近您的要求。我也鼓励您考虑选项4)。这是一个很好的教程:http : //tutorials.jenkov.com/java-json/jackson-objectmapper.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Java中的套接字发送/接收对象

如何在套接字编程中不按回车接收消息

如何在套接字编程中从Server(server.java)socket连续侦听PHP(client.php)套接字

如何在Haskell中从套接字发送和接收消息

如何在套接字连接中接收 tcp 标志

如何在 Java 套接字中创建用于接收数据的侦听器

Java套接字中的“接收”功能如何设计?

如何在localhost + ubuntu中测试PHP套接字编程

如何通过Java中的套接字编程传输zip文件?

Java中的套接字编程,用于发送和接收字节数组

C套接字编程如何接收多条消息?

套接字编程Python:如何确保接收到整个消息?

在套接字编程中从缓冲区接收数据

R中的套接字编程以接收UDP流

cmd中的Java套接字编程

如何在套接字通道中发送和接收序列化对象

Java套接字编程

如何在Linux C中以编程方式查找cpu套接字和每个套接字的核心数

接收特定的消息套接字编程C

如何在套接字中传递和接收 cmd 行参数?

如何在异步套接字中接收完整的屏幕截图?

如何在iOS中通过套接字从服务器接收数据?

如何在java中延迟初始化套接字?

如何在Java中同时与1000个套接字通信?

如何在Java HTTP Client中设置套接字超时

如何在Python套接字中进行发送和接收?

如何在套接字接收事件后更新Blazor(托管)

C ++中的套接字接收

Java套接字编程。我如何在后台等待服务器响应?