-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
61 lines (53 loc) · 1.55 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package main
import (
"log"
"github.com/sacOO7/gowebsocket"
"os"
"os/signal"
)
func main() {
interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, os.Interrupt)
socket := gowebsocket.New("ws://echo.websocket.org/");
socket.ConnectionOptions = gowebsocket.ConnectionOptions{
//Proxy: gowebsocket.BuildProxy("http://example.com"),
UseSSL: false,
UseCompression: false,
Subprotocols: [] string{"chat", "superchat"},
}
socket.RequestHeader.Set("Accept-Encoding", "gzip, deflate, sdch")
socket.RequestHeader.Set("Accept-Language", "en-US,en;q=0.8")
socket.RequestHeader.Set("Pragma", "no-cache")
socket.RequestHeader.Set("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36")
socket.OnConnectError = func(err error, socket gowebsocket.Socket) {
log.Fatal("Recieved connect error ", err)
};
socket.OnConnected = func(socket gowebsocket.Socket) {
log.Println("Connected to server");
};
socket.OnTextMessage = func(message string, socket gowebsocket.Socket) {
log.Println("Recieved message " + message)
};
socket.OnPingReceived = func(data string, socket gowebsocket.Socket) {
log.Println("Recieved ping " + data)
};
socket.OnDisconnected = func(err error, socket gowebsocket.Socket) {
log.Println("Disconnected from server ")
return
};
socket.Connect()
i := 0
for (i < 10) {
socket.SendText("This is my sample test message")
i++
}
for {
select {
case <-interrupt:
log.Println("interrupt")
socket.Close()
return
}
}
}
// go run main.go