더북(TheBook)

6.4 메시지 주고받기

 

 

프라우드넷에서 메시지를 주고받는 방법은 크게 다음과 같습니다.

1. 전통적인 방법으로 바이너리 데이터 주고받기

2. 다른 컴퓨터에 있는 함수를 원격으로 호출하기

우선 첫 번째 방법부터 살펴봅시다.

NetClient나 NetServer에는 SendUserMessage() 함수가 있습니다. 이 함수를 호출하면 상대방에게 여러분 메시지가 전송되는데, 이때 제공해야 하는 매개변수는 다음과 같습니다.

1. 누구한테?(HostID 또는 HostID array)

메시지를 보내고자 하는 대상입니다. 하나만 넣어도 되고 여러 개를 넣어도 됩니다. 여러 개를 넣을 때는 HostID 배열을 넣으면 됩니다.

2. 어떻게?(reliable, unreliable, …)

어떤 방법으로 상대방에게 메시지를 전송할지 지칭합니다. reliable(상대방에게 반드시 전송됨을 보장하는 방법) 또는 unreliable(상대방에게 전송되지 못하더라도 즉시 전송되게 하는 방법)을 지정할 수 있습니다. 이외에도 암호화를 해서 보낼지 압축해서 보낼지, 최종 메시지를 제외한 오래된 메시지를 건너뛸지 등 다양한 옵션이 있습니다. 이들을 모두 모은 구조체를 RmiContext라고 칭하겠습니다.

3. 무엇을?(byte array)

여러분이 보낸 메시지입니다. 바이너리 데이터를 넣으면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.