Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "golang.org/x/net/websocket"
- "fmt"
- "log"
- "net/http"
- )
- type Clients struct {
- ws *websocket.Conn
- clientAddr string
- id int
- }
- var (
- counter = 1
- ActiveClients = make(map[Clients]int)
- )
- func Echo(ws *websocket.Conn){
- var err error
- client := ws.Request().RemoteAddr
- sockCli := Clients{ws, client, 2}
- counter++;
- ActiveClients[sockCli] = 1
- for{
- var reply string
- if err = websocket.Message.Receive(ws, &reply); err != nil{
- fmt.Println("Cant receive")
- break
- }
- fmt.Println("Received back from client: " + reply)
- for cs, _ := range ActiveClients {
- if(cs.id == 1){
- if err = websocket.Message.Send(cs.ws, "asd"); err != nil {
- // we could not send the message to a peer
- log.Println("Could not send message to ", cs.clientAddr, err.Error())
- }
- }else{
- fmt.Println("No")
- }
- }
- /*if err = websocket.Message.Send(ws, "Tehéncsőcs"); err != nil{
- fmt.Println("Cant send")
- break
- }*/
- }
- }
- func main(){
- http.Handle("/", websocket.Handler(Echo))
- if err := http.ListenAndServe(":1234", nil); err != nil{
- log.Fatal("ListenAndServe: ", err)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement