한 서버에서, 채널관리를 위해, 서버 프로세스를 포트를 달리해, 여러 개 띄우고 있다. 이때, 이런 서버 프로세스 관리를 위한 프로그램을 따로 두는데, 그곳에서 자동으로 서버 프로세스를 띄우고 있다.
Process process = new Process();
#if UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX
//ios 운영체제
process.StartInfo.FileName = "mono";
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.UseShellExecute = true;
process.StartInfo.WorkingDirectory = "/Users/{USER_PATH}/";
process.StartInfo.Arguments = "LobbyServer.exe";
#else
//윈도우 운영체제
process.StartInfo.FileName = "LobbyServer.exe"; //실행 파일 이름
process.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
process.StartInfo.CreateNoWindow = false; //새창에서 띄운다.
process.StartInfo.UseShellExecute = true;
process.StartInfo.WorkingDirectory = "C:\\Users\\{USER_PATH}\\Release"; //실행파일 경로
process.StartInfo.Arguments = string.Format("{0}", m_port+i); //실행 시, args에 넘길 인자들
#endif
process.Start();
참고로 Mac에서 exe파일을 실행하기 위해선, mono설치가 필수다.
brew install mono
'게임을 만들자 > 게임 서버(C#)' 카테고리의 다른 글
개인 PC 서버, 내부 IP, 외부 IP 확인하기.(IPTIME) (0) | 2021.03.29 |
---|---|
c#, SocketAsyncEventArgs 메모리 릭 현상 (0) | 2021.03.20 |
c# 구글 인앱 iap 서버 검증 코드 (1) | 2021.01.08 |
윈도우 서버 TCPNoDelay, TcpAckFrequency 설정 (1) | 2020.12.23 |
c# 각도, 라디안, 벡터 간 변환 (0) | 2020.10.24 |