File tree Expand file tree Collapse file tree 2 files changed +93
-0
lines changed Expand file tree Collapse file tree 2 files changed +93
-0
lines changed Original file line number Diff line number Diff line change @@ -19,9 +19,14 @@ func newHandler(hub *hub) *handler {
19
19
}
20
20
21
21
func (h * handler ) initRoutes () {
22
+ http .HandleFunc ("/" , h .index )
22
23
http .HandleFunc ("/chat" , h .chat )
23
24
}
24
25
26
+ func (h * handler ) index (w http.ResponseWriter , r * http.Request ) {
27
+ http .ServeFile (w , r , "index.html" )
28
+ }
29
+
25
30
func (h * handler ) chat (w http.ResponseWriter , r * http.Request ) {
26
31
ws , err := upgrader .Upgrade (w , r , nil )
27
32
if err != nil {
Original file line number Diff line number Diff line change
1
+ <!DOCTYPE html>
2
+ < html lang ="en ">
3
+ < head >
4
+ < title > Чат</ title >
5
+ < script type ="text/javascript " src ="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js "> </ script >
6
+ < script type ="text/javascript ">
7
+ $ ( function ( ) {
8
+ var conn ;
9
+ var msg = $ ( "#msg" ) ;
10
+ var log = $ ( "#log" ) ;
11
+
12
+ function appendLog ( msg ) {
13
+ var d = log [ 0 ]
14
+ var doScroll = d . scrollTop == d . scrollHeight - d . clientHeight ;
15
+ msg . appendTo ( log )
16
+ if ( doScroll ) {
17
+ d . scrollTop = d . scrollHeight - d . clientHeight ;
18
+ }
19
+ }
20
+
21
+ $ ( "#form" ) . submit ( function ( ) {
22
+ if ( ! conn || ! msg . val ( ) ) {
23
+ return false ;
24
+ }
25
+ conn . send ( msg . val ( ) ) ;
26
+ msg . val ( "" ) ;
27
+ return false
28
+ } ) ;
29
+
30
+ if ( window [ "WebSocket" ] ) {
31
+ conn = new WebSocket ( "ws://localhost:8080/chat" ) ;
32
+ conn . onclose = function ( evt ) {
33
+ appendLog ( $ ( "<div><b>Соединение закрыто.</b></div>" ) )
34
+ }
35
+ conn . onmessage = function ( evt ) {
36
+ appendLog ( $ ( "<div/>" ) . text ( evt . data ) )
37
+ }
38
+ } else {
39
+ appendLog ( $ ( "<div><b>Ваш браузер не поддерживает вебсокеты.</b></div>" ) )
40
+ }
41
+ } ) ;
42
+ </ script >
43
+ < style >
44
+ html {
45
+ overflow : hidden;
46
+ }
47
+
48
+ body {
49
+ overflow : hidden;
50
+ padding : 0 ;
51
+ margin : 0 ;
52
+ width : 100% ;
53
+ height : 100% ;
54
+ background : gray;
55
+ }
56
+
57
+ # log {
58
+ background : white;
59
+ margin : 0 ;
60
+ padding : 0.5em 0.5em 0.5em 0.5em ;
61
+ position : absolute;
62
+ top : 0.5em ;
63
+ left : 0.5em ;
64
+ right : 0.5em ;
65
+ bottom : 3em ;
66
+ overflow : auto;
67
+ }
68
+
69
+ # form {
70
+ padding : 0 0.5em 0 0.5em ;
71
+ margin : 0 ;
72
+ position : absolute;
73
+ bottom : 1em ;
74
+ left : 0px ;
75
+ width : 100% ;
76
+ overflow : hidden;
77
+ }
78
+
79
+ </ style >
80
+ </ head >
81
+ < body >
82
+ < div id ="log "> </ div >
83
+ < form id ="form ">
84
+ < input type ="submit " value ="Send " />
85
+ < input type ="text " id ="msg " size ="64 "/>
86
+ </ form >
87
+ </ body >
88
+ </ html >
You can’t perform that action at this time.
0 commit comments