如何通过套接字发送和接收Java对象?

时间:2011-09-21 11:24:37

标签: java sockets client-server

我正在编写一个具有客户端和服务器的并发ATM应用程序。

我需要知道如何使用Socket编程来调用Server方法(请求他当前的余额,转移资金等)并将对象返回给客户端。

我不想只使用像Lesson: All About Sockets中提到的System.out.println传递文本

4 个答案:

答案 0 :(得分:5)

你应该使用Javas RMI Lib。

您可以在此处找到一个小例子:http://download.oracle.com/javase/1.3/docs/guide/rmi/getstart.doc.html

答案 1 :(得分:4)

您需要序列化数据,发送数据并对其进行反序列化。有关Java序列化类的介绍,请参阅Lesson: Basic I/O

答案 2 :(得分:2)

套接字只是打开服务器和客户端之间通信通道的一种方式。套接字连接只允许您将字节从一台机器发送到另一台机器,仅此而已。特别是,套接字不直接提供在另一台机器上调用方法的方法。

您需要在套接字之上实现应用程序级协议,或使用某些现有(标准)应用程序级协议。您可以使用ashiaka建议的RMI,或者例如JAX-RS(Java的RESTful Web服务的标准API)。这两个都将使用套接字将数据从一台机器传送到另一台机器。

所以是的,可以使用套接字,但你需要在其上使用一些东西来实际远程调用方法。

答案 3 :(得分:1)

我发现本教程非常有用 http://java.sun.com/developer/technicalArticles/ALT/sockets/

他们说:

  

RMI =套接字+对象序列化+某些实用程序

谢谢你们的贡献!