50 if err != nil { |
50 if err != nil { |
51 log.Fatalf("NewClient(%v): %v", jid, err) |
51 log.Fatalf("NewClient(%v): %v", jid, err) |
52 } |
52 } |
53 defer close(c.Send) |
53 defer close(c.Send) |
54 |
54 |
|
55 go func(ch <-chan xmpp.Stanza) { |
|
56 for obj := range ch { |
|
57 fmt.Printf("s: %v\n", obj) |
|
58 } |
|
59 fmt.Println("done reading") |
|
60 }(c.Recv) |
|
61 |
55 err = c.StartSession(&xmpp.Presence{}) |
62 err = c.StartSession(&xmpp.Presence{}) |
56 if err != nil { |
63 if err != nil { |
57 log.Fatalf("StartSession: %v", err) |
64 log.Fatalf("StartSession: %v", err) |
58 } |
65 } |
59 c.Roster.Update() |
66 c.Roster.Update() |
60 roster := c.Roster.Get() |
67 roster := c.Roster.Get() |
61 fmt.Printf("%d roster entries:\n", len(roster)) |
68 fmt.Printf("%d roster entries:\n", len(roster)) |
62 for i, entry := range roster { |
69 for i, entry := range roster { |
63 fmt.Printf("%d: %v\n", i, entry) |
70 fmt.Printf("%d: %v\n", i, entry) |
64 } |
71 } |
65 |
|
66 go func(ch <-chan xmpp.Stanza) { |
|
67 for obj := range ch { |
|
68 fmt.Printf("s: %v\n", obj) |
|
69 } |
|
70 fmt.Println("done reading") |
|
71 }(c.Recv) |
|
72 |
72 |
73 p := make([]byte, 1024) |
73 p := make([]byte, 1024) |
74 for { |
74 for { |
75 nr, _ := os.Stdin.Read(p) |
75 nr, _ := os.Stdin.Read(p) |
76 if nr == 0 { |
76 if nr == 0 { |