Heim >häufiges Problem >Wie viele Methoden gibt es für die Vergabe von Unteraufträgen für lange TCP-Verbindungen?

Wie viele Methoden gibt es für die Vergabe von Unteraufträgen für lange TCP-Verbindungen?

coldplay.xixi
coldplay.xixiOriginal
2020-06-28 13:20:263342Durchsuche

Es gibt 4 Methoden für die Paketierung langer TCP-Verbindungen: 1. Die Methode der festen Nachrichtenlänge; 2. Die Methode der Verwendung spezieller Zeichenfolgen als Nachrichtengrenzen; 3. Hinzufügen des Headers zu jeder Nachrichtenlänge; Feldmethode; 4. Eine Methode zur Unterauftragsvergabe unter Verwendung des Formats der Nachricht selbst.

Wie viele Methoden gibt es für die Vergabe von Unteraufträgen für lange TCP-Verbindungen?

Vier Methoden zur Unterauftragsvergabe für lange TCP-Verbindungen:
1. Feste Nachrichtenlänge
2 Grenzen. Beispielsweise verwenden die Header des HTTP-Protokolls “rn” als Feldtrennzeichen
3. Fügen Sie dem Header jeder Nachricht ein Längenfeld hinzu. Dies ist die gebräuchlichste Methode.
4. Verwenden Sie das Format der Nachricht selbst, um Unteraufträge zu vergeben. Zum Beispiel die Paarung von 4216313e5055da45c6d0ded129c5d644c02ae4fdd442eb2210bebb17feeb95b4 in XML usw.

Verwandte Lernempfehlungen: PHP Programmieren vom Anfänger bis zum Experten

Erzählen Sie mir von der Methode zum Hinzufügen eines Nachrichtenlängenfelds zum Header zur Paketierung
Wenn jede Nachricht einen 4-Byte-Header hat, speichern Sie die Zeichenfolgenlänge . Beispielsweise lautet die Nachricht „Hallo“, der Bytestrom ist 0x00, 0x00, 0x00, 0x05, 'h’,'e','l','l','o'
Schreiben Sie einen Pseudocode, um die Unterauftragsvergabe anzuzeigen:

void OnMessage()
{    while(接收缓冲buf可读字节>=头部长度4)
    {
        len = 包的长度        if(len>65536 or len<0)
        {
            关闭连接
        }        else if(buf>=len+4)
        {
            从buf中提取出4字节;
            message=将buf后的len长度内存赋给message
            messagecallback(message)调用用户代码处理message
            从buf中移除len长度
        }        else
        {
            不够一个包的长度,等待下次消息到来,break;
        }
    }
}

Das obige ist der detaillierte Inhalt vonWie viele Methoden gibt es für die Vergabe von Unteraufträgen für lange TCP-Verbindungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist ein TCP-Sticky-Paket?Nächster Artikel:Was ist ein TCP-Sticky-Paket?

In Verbindung stehende Artikel

Mehr sehen