Wie Baue ich ein Protokoll auf tcp?
War ich auf der Suche eine Menge, aber ich konnte nicht finden alle Ressourcen, die über den Bau eines eigenen Protokolls, das verwendet TCP als transport-layer.
Was sind die notwendigen Schritte?
Das Protokoll sollte eine Art "Control protocol" für die Geräte. So kann ich das senden von Befehlen an Geräte und Steuern Sie Sie und Holen Sie sich Informationen zurück.
So, wie man implementieren Sie ein benutzerdefiniertes Protokoll? Ist es alles über defininig what
- Befehle können gesendet werden und how
der Empfänger reagiert auf verschiedene Befehle? Sagen, ich bin, definieren einige benutzerdefinierte Befehle mit xml
senden Sie Sie über den Draht/Luft, unter Verwendung von tcp, und haben eine gewisse Logik gibt, die reagiert auf die gesendeten Befehl und Antworten. Dies ist ein Weg könnte man implementieren, ein "Protokoll" ? Ist dies auch als ein "Protokoll"?
freundlichen GRÜßEN.
- Ja, das ist ein "Protokoll". Werfen Sie einen Blick auf die original-Dokumentation für einige der klassischen TCP/IP-Protokolle für die Beispiele. RFC 821 SMTP ist ein gutes Beispiel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
So lange wie Sie können schreiben Sie eine Spezifikation für die Daten, die Sie senden über den TCP-socket, Sie haben Ihr eigenes Protokoll.
Es vor allem um die Definition der Befehle und Nutzlasten. Sie haben serialisiert, Ihr Befehls-Paket, bevor Sie Sie über TCP. Endian ist ein häufiges Problem, wenn Sie sich, pack das Paket in binären format. XML und JSON sind Häufig text-basierte Datenaustausch-Formate. Ich persönlich bin pro-JSON.
Weisen BSON, MessagePack oder protobuf für die binäre Serialisierung. Sie packen die eingegeben Daten in Binärcode, so haben Sie bessere Kontrolle über text-basierte Serialisierung und kompakter in der Größe. Sie Regeln auch die endian-Konvertierung, Paket-Versionierung und-Fahrer/- Bindungen in verschiedenen Sprachen. Der server und der client haben könnte, wurde in verschiedenen Sprachen geschrieben.
EDIT: Hinzugefügt RFC Proben
Sehen, den Kommentar von Ross Patterson, ich empfehle die Lektüre von RFC-Protokoll-definition verweisen. RTSP und HTTP sind text-Protokolle, RTP und media-Formaten (MPEG4 AV, H-264) sind binäre Protokolle.
EDIT:
Entmystifizierung der Protokolle und Serialisierung Leistung mit Todd Montgomery
{ length, data }
Sie sind in der Tat definieren das Protokoll, das per definition das ist, wie die Daten-frames und der Serialisierung ist die Voraussetzung.