packet을 만들어서 어느정도 자동화 되는 것까지 확인을 하였다.
그런데 그 만든 코드(파일들을)
PlayerInfoReq와 같은 패킷들을
이런식으로 복붙을 하고 있었는데
패킷이 계속해서 바뀔텐데
그럴때마다 복붙하는것은 말이 안되니까 오늘은
복붙을 안하고 참조를 하는 방식이 되게끄름 해보도록 하겠다.
Server, Dummy 둘다
Packet폴더 > GenPackets 만들기
그래서
여기 이 세션의 각부분 잘라내서 > 각각의 GenPackets에다가 붙여 넣어라
이런식으로 통째로 들어간다는 것인데
우리가 복붙을 안하더라도 이제 자동으로 갱신이 되게끔 만들어 줘야 한다.
우리가 그리고
이런식으로 PDL받고 있었는데 이거 경로가 지금
이런식이기 때문에 이것도 수정을 좀 해줘야한다.
경로를 하나 파주는데
지금은 아까 exe파일이 있던 곳의 경로이지만
지금 Main 즉, 프로그램을 처음 실행할 때
인자를 받아가지고 pdlPath의 경로를 바꿀 수 있게 옵션을 넣어주도록 하겠다.
Main에서 받는 args의 길이가 1보다 크다
즉, 프로그램을 실행할 때 인자로 뭔가를 넘겨줬다면은
이녀석을 이렇게 파싱을 해가지고 pdlPath에다가 넣어준다음에
기존에 했던 Creat를 이어가면된다.
그래서 지금까지 경로를 보면은
프젝파일이 여기 있고
"실제로" "빌드"를 하면 실행되는 경로는
bin > Debug > net6.0 이다.
근데 이렇게 되면 경로가 복잡하니까
bin 산하에다가만 생성이 되도록 바꿔 주도록 하자.
PacketGenerator > 속성 ㄱㄱ
그리고
이 경로가 있는데 > 찾아보기
강의대로 경로 설정하는데
안된다!
지금 경로 설정 하는 부분이 안되니까 다음에 하도록 하고 강의 ㄱㄱ
지금 그리고
지금 이 원본 PDL파일을 어디서 관리를 할지 궁금한데
PacketGenerator산하에 있는 이 녀석을 실제 원본으로 사용을 해도 무방하다.
( C++은 파일을 만들면 서로 공유하는게 굉장히 간단한 반면,
C#은 생각보다 공유하는게 까다롭다. )
지금
지금 exe 파일이 있는 경로인데 뒤로 가서 찾도록 해주도록 하자.
그래서 이렇게 넣어주면 아무런 문제 없이 실행은 일단 된다.
그래서 어떤 식으로든 우리가
PacketGenerator를 실행을 하면은
자동으로 Packets > GenPackets애들이 자동으로 채워지도록 해줘야한다.
이제 그 부분을 해주도록 하자.
"배치 파일"을 만들어서 그 녀석을 눌러주는게 가장 간략하고 실제로 많이 사용하는 방법이다.
여기다가 Common폴더 > Packet폴더 > txt -> GenPackets.bat
이렇게
"배치파일"은 위도우에서 제공해주는 이런저런 명령어들을 작성해서 한번에 실행을 할 수 있게 하는것임
지금 이 배치 파일로 뭘 하고 싶냐하면은
bin > Debug의
exe파일을 클릭을 하는 것을 해주고 싶은 것이다.
그래서 exe 파일은
이렇게 경로를 뒤로 뒤로 한다음에 경로 입력하고
이거만하면 안되고 PDL파일도 들고와야하니까
경로를
이렇게 해주도록하자
그리고 배치파일 더블클릭하면
해당 배치 파일 경로에 이렇게 생긴다.
이녀석 열어보면
이렇게 뜨는데
이게 바로 우리가 Program에서 만들어 주었던
이녀석이다.
그리고 우리가 배치파일에서 첫인자로 넣어준
지금 이녀석이
실제로 프로그램이 실행 될때 (PacketGenerator의 )
Main의 args로 들어가게된다.
지금은 하나만 넣어줬으니까 args[0]으로 들어가게되서
그녀석을
여기서 파싱을 해가지고
이렇게 찾아 준것이다.
지금 해야할게 Common > 배치파일 실행
하면 해당 경로에 GenPacket.cs 생성되었는데
이렇게 Dummy > Packets 안에
Server > Packets 안에
GenPackets을 만들어 줘야한다.
그래서 지금 생성되는 파일을 저 경로에다가 복사하는 방법은
구글링을 하면 여러가지 방법이 있지만
xcpoy가 제일 좋은듯 그래서 이것을 사용을 하자.
이렇게 하면되는데
"/Y"는 해당 파일이 똑같은 게 있으면 덮어 쓰겠다.
그다음 경로를 " " 안에다가 꼭 넣어주도록 하자.
그럼 Commom > Packet > 배치파일 실행 > 각 해당 경로에 GenPackets.cs복사함
이렇게 될테니 실행하고 확인 ㄱㄱ
이런식으로 바뀐 것을 볼 수 있다.
그래서 이런 배치 파일을 만들어서 수동으로 눌러주는 그런 방법도 있고
아니면은
빌드하는 순간에 실행을 해서 자동으로 GenPacket을 만들어 주는 방법도 있다.
그럼 이제
이부분을 실컷 작업을 한다음에
배치파일을 눌러주기만 하면된다.
그리고 ServerSession, ClientSession에서 이부분을 잘 활용하면 될 것이다.