서버공부를 위한 강의도 거의다 수강했기 때문에 이제 본격적으로 저의 프로젝트에 적용시켜 보려고 합니다.
현재 3D 프로젝트에서 애니메이션,이동 동기화까지를 목표로 잡고있습니다.
어떻게 유니티와 내가 만든 서버를 연결 시킬 것인가?
https://myjeongjun.tistory.com/116
[서버 공부] 미니 프로젝트: 채팅 방 만들기 1편
지금까지 배운 소켓프로그래밍으로 채팅을 주고 받는걸 구현해보고자 한다. 채팅방 시스템이 어떻게 구현되어있는지를 예상해서 구성해보자면 1.더미 클라이언트 2개를 두고(완성하고 나면 2
myjeongjun.tistory.com
간단합니다. 이 미니 프로젝트에서는 DummyClient를 서버와 같은 프로젝트에 Connector를 집어넣어 구현했지만
이제 유니티에다가 Connector를 만들고 서버에 연결을 시도하면 됩니다.
그냥 Connector만 만들고 연결시키면 관리에 어려움이 있으니 NetWorkManager를 만들어서 클라이언트의 연결들을 관리해 줍시다.
using System.Collections;
using System.Collections.Generic;
using System.Net;
using UnityEngine;
public class NetWorkManager : MonoBehaviour
{
ServerSession _session = new ServerSession();
public void Init()
{
string host = Dns.GetHostName();
IPHostEntry ipHost = Dns.GetHostEntry(host);
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);
Connector connector = new Connector();
connector.Connect(endPoint, () => { return _session;});
}
}
서버에 필요한 것들
1.Listener : 클라이언트와 연결을 위해 반드시 있어야함
2.ClientSession : 클라이언트에 대한 정보를 정의해 놓음
3.ClientSessionManager : 연결된 클라이언트를 담아놓고 관리
여기 까지 구현
서버를 켜놓지 않았을때 연결이 되지않는다고 잘 출력됩니다.
다음은 서버를 켜놓고 유니티를 실행했을때
다수의 클라이언트 연결
이제 여러 클라이언트를 동시에 실행시켜서 서버에 연결해보겠습니다.
MenuItem을 이용해서 추가로 여러 클라이언트를 편하게 실행시키게 만들었습니다.
이제 연결은 해결한거 같으니 다음은 패킷을 주고받는것에 대해서 작성할 차례입니다.
'Unity > 연습프로젝트' 카테고리의 다른 글
| [Unity]연습 프로젝트 3.패킷 설계 (0) | 2025.02.21 |
|---|---|
| [Unity]연습 프로젝트 - 1.캐릭터의 부드러운 움직임 (0) | 2025.01.06 |