Java:在套接字编程中,如果客户端编写不同类型的对象,服务器如何区分这些对象实例?

Java:在套接字编程中,如果客户端编写不同类型的对象,服务器如何区分这些对象实例?,java,sockets,Java,Sockets,我的问题很简单,在套接字编程中,如果客户端编写不同类型的对象,服务器如何区分这些对象实例 更新: 例如,如果客户端发送一个字符串对象,那么服务器应该如何知道它应该将接收字节转换为字符串对象?当您使用套接字时,您使用的是TCP连接,因此在这种通信中没有任何应用层的抽象 请记住TCP/IP堆栈: ++++++++++++++++++++++++++++ + APPLICATION LAYER + ++++++++++++++++++++++++++++ + TRASPORT (TCP/

我的问题很简单,在套接字编程中,如果客户端编写不同类型的对象,服务器如何区分这些对象实例

更新:


例如,如果客户端发送一个字符串对象,那么服务器应该如何知道它应该将接收字节转换为字符串对象?

当您使用套接字时,您使用的是TCP连接,因此在这种通信中没有任何应用层的抽象

请记住TCP/IP堆栈:

++++++++++++++++++++++++++++
+    APPLICATION LAYER     +
++++++++++++++++++++++++++++
+ TRASPORT (TCP/UDP) LAYER +
++++++++++++++++++++++++++++
套接字只知道TCP报头,所以它不知道数据的真实类型,它只知道TCP数据包

正如Boris告诉您的,应用程序层负责这项技术。您可以使用许多选项:

  • 发送一个标题(应用程序标题),告诉每个消费者如何处理这些数据
  • 发送对象的表示形式。使用支持技术的格式:XML、JSON、YAML等

答案完全取决于通过套接字发送对象所使用的协议。提供更多信息(例如,向我们展示代码),或许我们可以回答您的问题。目前,这个问题太广泛,无法提供正确的答案。请发送一个标题,描述您计划发送的内容。决定如何发送数据和发送什么数据的问题称为协议。这是人们使用HTTP或STOMP而不是实现自己的HTTP或STOMP的主要原因之一。例如,如果客户端发送一个字符串对象,那么服务器应该如何知道它应该将接收字节转换为字符串对象?我使用的是tcp协议。您可以看一下这个问题:好的,解释过。谢谢!:)