Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Trikang

프라우드넷과 유니티로 게임 만들기(1) 본문

개발 Tip/게임 개발

프라우드넷과 유니티로 게임 만들기(1)

Trikang 2020. 9. 13. 03:59

구현하려는 프로젝트가 응답 속도에 그렇게 민감하지 않아서 오히려 개발 속도 향상을 위해 서버에 C# 사용.

 

서버는 .Net Framework 사용 콘솔 앱으로 작성.

 

우선 서버와 클라이언트의 접속 확인 후, 게임의 룰에 맞게 로직을 구현해볼 예정.

 

서버 프로그램이 제대로 실행되려면 Plugin 파일이 서버 프로그램 실행 파일과 같은 경로에 있어야 함. -> 링크

C:\Program Files (x86)\Nettention\ProudNet\lib\DotNet\x64에 있는 아래의 파일들

네 개의 파일!

얘네가 실행 파일에 있어야 함. 근데 나는 이미 들어가있다. 이 버전 서버 실행을 위한 세팅을 이미 했다.

 

서버 tip

- RMI 메시지 콜백은 여러 클라이언트가 동시에 접근할 수 있으므로 스레드 Lock을 걸어준다.

RequestLogon에 스레드 Lock.
RequestAddTree에 스레드 Lock.

문제 1 - PIDL 스크립트에서 marshaler(cs)='어쩌구' 속성 지정한 클래스를 못 찾는 문제

- 우선 PIDL 컴파일 자체를 더 이해하자.

- 해당 키워드는 사용자 정의 타입에 대해 마샬러 생성할 때 쓰는 것 같은데...

 

참고

m.blog.naver.com/PostView.nhn?blogId=ljc8808&logNo=220456402274&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[ProudNet in C#] C# 언어에서 사용자 정의 타입을 마샬링( Marshalering )하기

RMI 호출을 메세지로 변환하거나 메세지로부터 RMI를 호출하기 위한 값을 추출하는 것을 마샬링( Ma...

blog.naver.com

- PIDL 고급 사용법 : 프라우드넷

 

사용법 도움말 for C++

이 내용이 얼마나 도움이 되셨나요? 피드백이 기록되었습니다. 감사합니다. 전혀 도움이 되지 않음도움이 되지 않음조금 도움이 됨도움이 됨매우 도움이 됨

guide.nettention.com

해결법

해당 코드에서
윗 부분 제거

그랬더니 일반적인 마샬러로 잘 작성되는듯!

 

프라우드넷 매뉴얼이 생각보다 복잡하다. 일목요연하게 잘 정리해놓으면 좋을 듯.

 

찾아볼 것들

- netstandard. 서버에서 GUID를 참조할 수 없다고 에러를 띄우다가, 얘를 참조하니까 문제가 사라졌다.

- System.String과 C#의 내장 string의 차이점?

Comments