使用linux的telnet连接成功后首次发送数据服务端接收正常,不断开继续用当前连接发送数据服务端解析就会出现问题;如果每次只发送一条就断开重新连接发送就能正常。是分包的问题还是telnet协议追加了字符?
public static function input($buffer)
{
if(strlen($buffer) < self::PACKAGE_HEAD_LEN)//消息头固定65
{
return 0;
}
//消息头29-32为包长度
$body_length = intval(substr($buffer, 28, 4));
$total_length = $body_length + self::PACKAGE_HEAD_LEN;
return $total_length;
}
telnet协议应该是自动追加了换行字符