졸업 논문용 프로젝트를 진행하고 있는데 다음과 같은 flutter 에러가 발생했다.
flutter: Error: WebSocketException: Connection to 'http://192.168.0.72:5000#' was not upgraded to websocket
진짜 많은 방법들을 시도했지만 고쳐지지않았다. (버전도 변경해보고 다른 방식을 사용도 해보고..._
그러다가 git issue를 보고 댓글을 봤는데 다음과 같은 댓글이 있었다.
Add extra HTTP-Header {'Upgrade': false} just solved my problem. Here's my sample code.
socket = IO.io(
server,
IO.OptionBuilder()
.enableAutoConnect()
.enableForceNew()
.setTransports(['websocket']).setExtraHeaders({'Upgrade': false}).build());
socket_io_client: ^1.0.1
이 방식을 해보니 에러가 뜨는게 아니라 폴링 방식으로 바뀌어서 socket 버전을 내리니까 연결이 됐다.
진짜 모르겠는 에러라서 flutter을 쓰는게 맞을까 라는 고민을 했지만 포기 안 하길 다행이라는 생각을 했다.
그래서 현재 flutter socket 버전은 socket_io_client: ^2.0.1다.
파이썬의 socket 버전은 Flask-SocketIO 2.7.1다.
가끔 에러가 발생하거나 문제가 잘 안풀리면 작성해봐야지