socket发送和接收Java对象
我正在寻找发送&;将Java对象接收到&;来自另一个Java应用程序。此应用程序可能位于另一台机器上。我需要这样做,因为我正在运行多个Java游戏服务器,并且需要它们都与一个中央服务器通信。我试着四处寻找一些关于如何做到这一点的建议,但什么也没找到
我想象一下,您首先为每个游戏服务器创建一个新线程,然后打开服务器的socket
你可以在下面搜索框中键入要查询的问题!
我正在寻找发送&;将Java对象接收到&;来自另一个Java应用程序。此应用程序可能位于另一台机器上。我需要这样做,因为我正在运行多个Java游戏服务器,并且需要它们都与一个中央服务器通信。我试着四处寻找一些关于如何做到这一点的建议,但什么也没找到
我想象一下,您首先为每个游戏服务器创建一个新线程,然后打开服务器的socket
# 1 楼答案
您应该查看
http://docs.oracle.com/javase/7/docs/api/java/io/DataOutputStream.html
http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutputStream.html
http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html
http://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html
您可以使用它们在应用程序之间发送/接收基本值或对象。是的,您可以使用
Thread
(用于同时处理服务器上的2个或多个客户端),Socket
(作为应用程序之间的通信通道)和ServerSocket
(侦听服务器端客户端的传入连接)# 2 楼答案
与其他答案不同的是,我不会建议使用ObjectStreams(尽管我不是下层选民)。当然,它们是直接发送Java对象的一种方法,但您并不真正想这样做。与其他流相比,ObjectStreams的行为也有点特殊
映射出需要在服务器/客户端之间传输的信息,然后围绕这些信息设计协议。您可以使用二进制协议,甚至可以发送类似JSON的内容,但发送完整对象很可能不是最好的主意
你似乎没有太多的网络经验,所以你应该看看其他项目的例子
# 3 楼答案
你需要:
ObjectOutputStream
和ObjectInputStream
要使用这些方法,请实现一个名为
serializable
在你们班上这里您将序列化
employee
类,即您可以共享employee类的对象演示:
现在,您只需使用sockets!将此文件发送到其他服务器或客户端即可
希望这有帮助