Advertisement
Guest User

Untitled

a guest
Dec 18th, 2015
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.17 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "golang.org/x/net/websocket"
  5.     "fmt"
  6.     "log"
  7.     "net/http"
  8. )
  9.  
  10. type Clients struct {
  11.     ws *websocket.Conn
  12.     clientAddr string
  13.     id int
  14. }
  15.  
  16. var (
  17.     counter = 1
  18.     ActiveClients = make(map[Clients]int)
  19. )
  20.  
  21. func Echo(ws *websocket.Conn){
  22.     var err error
  23.  
  24.     client := ws.Request().RemoteAddr
  25.     sockCli := Clients{ws, client, 2}
  26.     counter++;
  27.     ActiveClients[sockCli] = 1
  28.  
  29.  
  30.     for{
  31.         var reply string
  32.  
  33.         if err = websocket.Message.Receive(ws, &reply); err != nil{
  34.             fmt.Println("Cant receive")
  35.             break
  36.         }
  37.  
  38.         fmt.Println("Received back from client: " + reply)
  39.  
  40.  
  41.         for cs, _ := range ActiveClients {
  42.             if(cs.id == 1){
  43.                 if err = websocket.Message.Send(cs.ws, "asd"); err != nil {
  44.                     // we could not send the message to a peer
  45.                     log.Println("Could not send message to ", cs.clientAddr, err.Error())
  46.                 }
  47.             }else{
  48.                 fmt.Println("No")
  49.             }
  50.  
  51.         }
  52.  
  53.         /*if err = websocket.Message.Send(ws, "Tehéncsőcs"); err != nil{
  54.             fmt.Println("Cant send")
  55.             break
  56.         }*/
  57.     }
  58. }
  59.  
  60. func main(){
  61.     http.Handle("/", websocket.Handler(Echo))
  62.  
  63.     if err := http.ListenAndServe(":1234", nil); err != nil{
  64.         log.Fatal("ListenAndServe: ", err)
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement