Blöde Frage, aber ich wollte nur sichergehen:
Wann sollte ich TCP über HTTP verwenden? Gibt es Beispiele, bei denen das eine besser ist als das andere?
Blöde Frage, aber ich wollte nur sichergehen:
Wann sollte ich TCP über HTTP verwenden? Gibt es Beispiele, bei denen das eine besser ist als das andere?
TCP ist eine vollduplexe 2-Wege-Kommunikation. HTTP verwendet ein Anfrage/Antwort-Modell. Nehmen wir mal an, Sie schreiben eine Chat- oder Messaging-Anwendung. TCP wird viel besser funktionieren, weil Sie den Client sofort benachrichtigen können. Bei HTTP hingegen müssen Sie einige Tricks anwenden, wie z. B. Long-Polling.
TCP ist jedoch nur ein Bytestrom. Sie müssen ein anderes Protokoll finden, um Ihre Nachrichten zu definieren. Sie können dafür Googles ProtoBuffer verwenden.
Verwenden Sie HTTP, wenn Sie die Dienste benötigen, die es bietet - z. B. Message Framing, Caching, Redirection, Content Metadata, Partial Responses, Content Negotiation - sowie eine große Anzahl gut verstandener Tools, Implementierungen, Dokumentation usw.
Verwenden Sie TCP, wenn Sie nicht innerhalb dieser Grenzen arbeiten können. Wenn Sie jedoch TCP verwenden, erstellen Sie ein neues Anwendungsprotokoll, das eine Reihe von Fallstricken aufweist.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.