2016-07-06 26 views
0

Wenn ich mir die neueste Dokumentation von Graphite anschaue, sehe ich, dass ich Daten über Klartext in Graphite einspeisen kann. Aber ich kann anscheinend keinen Weg finden, in Python 3 Klartext über die Server-IP-Adresse und Port 2003 zu senden. Alles, was ich tun kann, ist das Senden von Bytes über sock.sendall(message.encode()) und Graphit scheint das nicht zu lesen. Gibt es eine Möglichkeit für Python 3, Daten in Graphite einzugeben?Wie sende ich Klartext über Python 3-Socket-Bibliothek?

+1

Senden von Klartext ist einfach, Sie müssen nur wissen, welche Codierung verwendet wird. Wahrscheinlich UTF-8, obwohl; das ist der Standardwert für 'encode' und' decode', soweit es mich betrifft. Also, wenn Graphite das nicht liest, ist es entweder, dass Sie a) einen Fehler in Ihrem Code haben, also wird nichts gesendet, b) Graphit hat einen Fehler, c) Graphit benutzt etwas anderes als UTF-8, d) Client und Server haben keine Verbindung miteinander. Aber ich weiß nicht, was Graphit ist oder wie es funktioniert, also ... – CodenameLambda

+1

Müssen Sie Klartext verwenden? Das Pickel-Format ist sehr einfach mit Python zu verwenden (es ist in der Standard-Bibliothek) und ist auch effizienter. – Joakim

+0

Mit was ich arbeite, ich habe nur Port 2003 geöffnet. Also kann ich Pickle nicht verwenden, obwohl ich es gerne möchte. – Flair

Antwort

0

Mein Code hat tatsächlich funktioniert. Aus irgendeinem Grund wurde das Diagramm nicht aktualisiert. So funktioniert sock.sendall(message.encode()) tatsächlich für das Klartext-Protokoll.