两个插座仅用于一个连接

Two Sockets for Only One Connection

我正在 Java 中制作一个即时通讯程序,我想添加发送图像和文本的功能。首先想到的是制作新的Sockets和输入输出流。首先,这项工作是否可行,是否是一种良好做法。其次,如果这不起作用,那么消息的接收端如何确定它接收的是图像还是字符串?

请记住,您不是在传输字符串或图像,而是在交换消息。消息应具有与之关联的内容或消息类型。

输出流包含字节,您必须将其构建到消息中。 reader 知道您发送的是哪种类型的数据,因为发件人必须说明它发送的是哪种类型的消息。

例如如果你把 say "image" 写成一个字符串,你可以假设它后面是一个图像。