EasySocket
EasySocket copied to clipboard
能不能直接支持所有格式
目前连接发送数据都正常,但是在接收服务端恢复的时候报错,我也设置过最大返回大小,还是会报错。

目前连接发送数据都正常,但是在接收服务端恢复的时候报错,我也设置过最大返回大小,还是会报错。
客户端和服务端传输的消息格式最好统一,框架在接收服务端数据的时候会对数据进行解析,解析的基本规则是把数据的消息格式默认为:消息头+消息体,这个协议也是大部分人遵从的数据格式,当然你可以自定义自己的消息格式,只要实现框架的接口:
public interface IMessageProtocol {
/**
* 获取包头的长度
*/
int getHeaderLength();
/**
* 获取数据包体的长度,根据协议这个长度应该写在包头中,在读取数据的时候会用到
*/
int getBodyLength(byte[] header, ByteOrder byteOrder);
/**
* 封装消息格式,返回socket发送的byte数组
* 根据自己定义的消息格式来实现
* @param sender
* @return
*/
byte[] pack(ISender sender);
} 配置好之后,框架就会遵循你定义的格式去解析数据
可以说在你遵循了这个接口定义的消息格式的情况下,还是支持所有的消息格式的
最新版1.7.0已结可以支持所有格式了
最新版1.7.0已结可以支持所有格式了
如果我要发送XMl形式的字符窜数据转换成字节数据发送,没有明确包头和包体长度,能支持?