example/interact.go
changeset 137 c94a7ce0f4fb
parent 130 da6f37ae3ffe
child 142 0ff033eed887
equal deleted inserted replaced
136:f35f853a52b6 137:c94a7ce0f4fb
    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 {