socket.io 랑 https 연결되는 unity 패키지 SocketIOUnity / github

이건개발·2024년 8월 2일
1

node.js + ws 서버를 돌리고
Unity 에서는 WebSocketSharp.WebSocket 을 사용했는데 이게 https 랑 통신이 안되는 문제를 발견하였습니다.
잘 안잡혀서 아예 방향을 바꿨습니다.

node + socket.io 서버와
Unity 에 사용할 것으로 SocketIOUnity 이런걸 찾아서 사용했는데 통신 성공했습니다.

github 링크:
https://github.com/itisnajim/SocketIOUnity

에디터 빌드후에 다 잘되는거 확인했습니다.

Unity 에서 WebSocketSharp.WebSocket 사용할때에는
ws:// 나 wss:// 를 주소에 넣었는데
이번껀 http:// 나 https:// 주소를 넣는군요

유니티에서 사용방법은 코드르 다운 받으시고
유니티 프로젝트내에 아무 폴더에 압축을 푸시면 됩니다.
안쓰는 파일이 많이 포함되있긴한데 정리하지 않고 그냥 두었습니다.

/Assets
  /Scripts
     /SocketIOUnity-main : 이폴더에 압축 해제

코드에러는 안나고 바로 사용할 수 있었습니다.

발견한 문제가 조금 있습니다.

socket.OnAnyInUnityThread((name, response) => {
// 받은건 이 이벤트로 들어옵니다.
});

에디터에선 다른 이벤트는 안되고 OnAnyInUnityThread 요것만 동작합니다.

그래서 서버에서 접속하자마자 통신을 보내게 했습니다.

io.on("connection", (socket) => {
    console.log("connected");
    socket.emit("message", "connected"); // <- 바로 보내서 접속 됨을 알림
    
    (생략)

끊겼는지도 인지가 안되서
자주 통신을 하고 응답이 일정시간 오지 않으면 끊긴것으로 처리했습니다.

이런식으로 처리하면 에디터랑 빌드한 결과랑 일관성을 유지할 수 있을 것 같습니다.

profile
게임 개발 / 웹 개발 / 주식 투자 / 은퇴자 / 클라우드타입 / 파이어베이스 / 수퍼베이스 / 유니티

0개의 댓글