2017-02-19 8 views
0

Ich benutze Netty, um einen Syslog-Server einzurichten, aber ich bin verwirrt, welches Trennzeichen ich nehmen sollte.Syslog Netty Server - DefaultDelimiter

Wenn ich keine DelimiterFramers verwende, wird das Syslog nach der Bytegröße abgeschnitten. Wie kann ich sicherstellen, dass die Syslog-Nachricht abgeschlossen ist. Ich weiß, ich sollte die Byte-Größe verwenden und die Länge der Nachricht zählen, aber die Sache ist, wenn ich viele Nachrichten zur gleichen Zeit sende, werden die Byte-Größen zuerst und später auf dem Rest der Nachricht empfangen, so dass es unmöglich ist Ich zähle die Byte-Größe der Nachricht.

Wenn ich nun Delimiter.lineDelimiter() nehme, wird die Nachricht nicht an channelRead0 übergeben, da es am Ende der Syslog-Nachricht kein "\ r \ n" (Non-Transparent-Framing) gibt.

ich brauche, um sicherzustellen, dass ich die volle syslog [BYTESIZE syslogMessage] aus dem TCP-Socket erhalten

Jede Hilfe Dank

Antwort