잠시만 기다려 주세요

     '애도와 추모가 책임있는 사람들에게 면죄부를 주어서는 안됩니다. -더불어 민주당 국회의원 김용민-'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (19)  |  여러가지 팁 (1095)  |  추천 및 재미 (163)  |  자료실 (28)  |  
시사, 이슈, 칼럼, 평론, 비평 (799)  |  끄적거림 (142)  |  문예 창작 (719)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    golang

golang - golang 에서 websocket, 웹소켓 문제, 접속 안되는 것 해결 방법. connection closed (1006)
이 름 : 바다아이   |   조회수 : 10631         짧은 주소 : https://www.bada-ie.com/su/?521591783787
go get golang.org/x/net/websocket

브라우저에서 F12 눌러서 네트워크에 상태코드를 보시면 

101 Switching Protocols

이렇게 나와야 제대로 연결이 됩니다. 403 이나 기타 등등이면 안됩니다.

핸들함수에서 아래를 주의하셔야 합니다.

되는 방식으로 하셔야 연결이 됩니다. 아니면 상태코드가 403 으로 잡혀서 접속이 안됩니다.
크롬은 그닥 상관이 없는데 나머지 브라우저에서는 문제가 생깁니다.
그래서 반드시 아래처럼 하셔야 합니다.


// 이건 안됩니다. (X)
// http.Handle("/", websocket.Handler(echo))

// 이건 됩니다. (O)
http.HandleFunc("/",
	func(w http.ResponseWriter, req *http.Request) {
		s := websocket.Server{Handler: websocket.Handler(echo)}
		s.ServeHTTP(w, req)
	})


Handler는 WebSocket 브라우저 클라이언트에 대한 간단한 인터페이스입니다. 
Origin 헤더가 기본적으로 유효한 URL인지 확인합니다. 
func에서 websocket.Conn.Config (). Origin을 확인할 수 있습니다. 
Handler 대신 Server를 사용하면 websocket.Origin을 호출하고 
Handshake func에서 출처를 확인할 수 있습니다. 따라서 Origin 헤더를 보내지 않는 
브라우저가 아닌 클라이언트를 허용하려면 Server를 사용할 수 있습니다. 
그 핸드 쉐이크에서 원점을 확인하지 않습니다. 
Origin 검사를 비활성화하려면 위와 같이 사용해야합니다. 

어찌보면 꼼수죠.. golang 이 아직 100% 매끄럽지 않습니다.
안되는 것들은 이렇게 수작업으로 다듬어야죠...


참고 : https://code.i-harness.com/ko/q/12cb9aa

| |





      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
180 golang golang ... 바다아이 140
179 golang golang , ... 바다아이 2726
178 golang golang , map . 바다아이 2110
177 golang Golang (, , data ) , ... 바다아이 2438
176 golang golang sort ... 바다아이 2808
175 golang golang html.EscapeString html.UnescapeString input value ... 바다아이 2734
174 golang golang go.mod go.sum . GOPATH SRC not module, 1.16 . 바다아이 6260
173 golang go 1.16 ... is not in GOROOT.. GOPATH .... . 바다아이 7413
172 golang , String Formatting 바다아이 8716
171 golang rand.Intn , random, , . 바다아이 8256
170 golang golang ... 바다아이 12007
169 golang golang gopath, goroot .. golang 바다아이 8975
168 golang golang ... Force download file example 바다아이 11004
167 golang golang , , cpu, memory, disk 바다아이 12069
166 golang golang , ... GOOS, GOARCH 바다아이 9716
165 golang golang checkbox ... 바다아이 9595
164 golang golang , , http .... 바다아이 9407
163 golang golang nil , nil , nil ... 바다아이 9490
162 golang 2 golang, go , .... golang .... 바다아이 12736
161 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 10049
160 golang golang postgresql mysql, mariadb scan , null .. 바다아이 10121
159 golang golang , iconv 바다아이 12931
158 golang golang quote escape, unquote 바다아이 10354
157 golang golang , http errorLog , , ... 바다아이 10741
156 golang golang interface , 바다아이 9807
155 golang golang struct .... 바다아이 10532
154 golang golang map map , 바다아이 10009
153 golang golang map .... .... 바다아이 9341
152 golang golang slice copy 바다아이 9530
151 golang golang goto 바다아이 10718
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.31181
to webmaster... gogo sea. gogo sea.