[英]Sending ByteArrays and Bytes from the same TCP connection
在我的应用程序中,我将创建一个套接字以在客户端和服务器之间进行通信。 有两种类型的消息传递,它们在数据长度方面有所不同。 一种消息类型只有一个字节,而另一种则具有可变长度。 我试图使用单个TCP连接来处理这两种情况,但到目前为止失败了。 有人可以告诉我什么是理想的方法。 最好使用两个端口号不同的连接吗? 请注意,由于外部限制,在我的项目中无法使用socket.io。
这是我正在使用的阅读代码:
Socket socket = new Socket( dstAddress, dstPort );
InputStream inputStream = socket.getInputStream();
try( ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream( 1024 ) )
{
byte[] buffer = new byte[1024];
int bytesRead;
while( ( bytesRead = inputStream.read( buffer ) ) != -1 )
{
byteArrayOutputStream.write( buffer, 0, bytesRead );
}
}
catch( Exception e )
{
e.printStackTrace();
}
谢谢
您需要设计自己的通信协议,例如http,但是当然要简单得多。 并在两侧实现解码器/编码器
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.