잠시만 기다려 주세요

HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (888)  |  추천 및 재미 (153)  |  자료실 (20)  |  끄적거림 (520)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2020년 09월 24일
작은 고통을 이겨내야 쓰러지지 않는다. 큰 고통은 모두가 힘들지만 작은 고통은 쉽게 간과되고 그 씨앗이 자라 큰 고통으로 남는다. - 바다아이
 




    golang

golang - golang 에서 websocket, 웹소켓 문제, 접속 안되는 것 해결 방법. connection closed (1006)
이 름 : 바다아이   |   조회수 : 2536         짧은 주소 : 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
번 호 카테고리 제 목 이름 조회수
173 golang , String Formatting 바다아이 236
172 golang rand.Intn , random, , . 바다아이 247
171 golang golang ... 바다아이 1419
170 golang golang gopath, goroot .. 바다아이 1067
169 golang golang ... Force download file example 바다아이 1567
168 golang golang , , cpu, memory, disk 바다아이 2288
167 golang golang , ... GOOS, GOARCH 바다아이 1614
166 golang golang checkbox ... 바다아이 1843
165 golang golang , , http .... 바다아이 1780
164 golang golang nil , nil , nil ... 바다아이 1880
163 golang 2 golang, go , .... golang .... 바다아이 2682
162 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 1957
161 golang golang postgresql mysql, mariadb scan , null .. 바다아이 2050
160 golang golang , iconv 바다아이 2196
159 golang golang quote escape, unquote 바다아이 2114
158 golang golang , http errorLog , , ... 바다아이 2218
157 golang golang interface , 바다아이 2151
156 golang golang struct .... 바다아이 2277
155 golang golang map map , 바다아이 2136
154 golang golang map .... .... 바다아이 2108
153 golang golang slice copy 바다아이 2063
152 golang golang goto 바다아이 2148
151 golang golang slice sort , int, string, float64 바다아이 2216
150 golang URL Parsing, url . parse 바다아이 2275
149 golang golang , interface{} ... 바다아이 2202
148 golang golang interface to string, , , map slice json 바다아이 2050
147 golang golang How to convert JSON string to map and slice, json 바다아이 2202
146 golang golang , file write, Writing Files 바다아이 2329
145 golang golang Insert Line or String to File, , , , , 바다아이 2078
144 golang golang replace 바다아이 2159
| |








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