2016-05-19 4 views
0

Ich möchte ein Stück von Struktur, die eine ID und einen Socket enthält, um Benachrichtigungen von meinem Server zu senden. Jeder Socket muss initialisiert werden und ich verstehe, wie ein Socket funktioniert, weil ich bereits damit gearbeitet habe (in C, Clustering für Schulprojekt mit select()).Golang - Slice Socket mit einer ID für die Benachrichtigung verbunden

Allerdings verstehe ich nicht, wie kann ich jede neue Verbindung in ein Element meiner Scheibe trennen (Wenn ich das Beispiel von systembash lese). Es ist schwer zu sagen, was ich nicht verstehe, mir eine Nachricht, wenn Sie nicht 'ich verstehe nicht !

Vielen Dank!

Antwort

1

eine Struktur machen, dass sowohl die conn und id umfasst:

type ConnDetails struct { 
    connection net.Conn 
    id   int 
} 

verwenden Ihre Scheibe zu initialisieren:

var connections []ConnDetails 

Dann Sie alle Verbindungen in dieser Schicht hinzufügen können.

Ist das wonach Sie gesucht haben?

+0

Vielen Dank für Ihre Antwort! :) Ja für die Hälfte meiner Frage;) Ich habe diesen Teil gesehen und habe diesen Teil bereits programmiert;) Wie aber initiiere ich jeden Sockel? Ich meine, anders als die Verbindung, die ich gab, wie eine Funktion als Hörer der Steckdose. Ich sehe auch nicht, wie man einen neuen Sockel in einem Element "ConnDetails" speichert. – Emixam23

+2

Wenn Sie die Dokumentation (https://godoc.org/net) lesen, wissen Sie, wie Sie die Verbindung mithilfe der net.Listener.Accept() -Methode herstellen können. Dann initialisierst du eine Variable: connDetail: = ConnDetails {connection: , id: }; Fügen Sie diese dann mithilfe der append() -Methode in das Segment ein. – Venkat

+0

Ho in Ordnung, es scheint mir jetzt klar! :) Danke :) – Emixam23