서버에 접속하는 방법을 설명합니다.
dll_import 를 하신 후에 접속 시도를 하시기 바랍니다.
Unity3D에서는 그냥 선언 할수 없으므로, MonoBehaviour를 상속 받은 클래스에서 생성합니다.
처음으로, Nettention.Proud.NetClient를 생성합니다.
사용 예
public class Client : MonoBehaviour { Nettention.Proud.NetClient netClient = new Nettention.Proud.NetClient(); ...
다음으로, Start함수(Unity3D 이벤트)등 에서 Nettention.Proud.NetClient를 초기화 합니다. 이벤트 핸들링 등은 11. PIDL 컴파일 결과물 포함하기를 참조 하십시오.
사용 예
void Start () { //netclient의 Event delegate들을 세팅합니다. netClient.JoinServerCompleteHandler = OnJoinServerComplete; ... //stub를 처리할 delegate를 세팅합니다. s2cStub.NotifyLocalHeroViewersGroupID = NotifyLocalHeroViewersGroupID; ... //client에 proxy,stub들을 attach합니다. netClient.AttachProxy(c2cProxy); ... }
Nettention.Proud.NetConnectionParam을 초기화 하고, Nettention.Proud.NetClient.Connect()를 호출 합니다.
사용 예
Nettention.Proud.NetConnectionParam param = new Nettention.Proud.NetConnectionParam(); //protocolVersion을 맞춥니다. param.protocolVersion.Set(new System.Guid("{0x7b7e9c20,0x309c,0x4364,{0xb4,0x9c,0xc6,0xc,0xcd,0x25,0xaf,0xa0}}")); //접속할 포트를 세팅합니다. param.serverPort = 32222; //접속할 IP주소를 세팅합니다. param.serverIP = serverAddr; netClient.Connect(param);
NetClient.FrameMove를 Update같은 매 프레임 호출 되는곳에서 호출 합니다. (주의! FrameMove가 호출 되지 않으면, 이벤트 처리가 되지 않습니다.)
void Update()
{
...
netClient.FrameMove();
}
이제 Nettention.Proud.NetClient.JoinServerCompleteHandler 로 설정한 delegate에 Connect가 되었는지 여부가 나오게 됩니다. 15. RMI 함수 및 이벤트 세팅하기
를 참조하시고 이벤트 세팅을 해주십시오.