iOS | Android | Mac OS | Windows | Electron | web |
✓ | ✓ | ✓ | ✓ | ✓ | × |
sendCustomCmdMsg
인터페이스 호출을 통해 발송하며, 발송 시 다음 4개의 매개변수를 지정해야 합니다.매개변수 이름 | 매개변수 설명 |
cmdID | 메시지 ID. 1 ~ 10으로 설정할 수 있으며, 각 서비스 유형 메시지별로 서로 다른 cmdID를 사용해야 합니다. |
data | 발송 대기 중인 메시지. 최대 1KB(1000바이트)까지 지원합니다. |
reliable | 신뢰도 높은 발송 여부. 신뢰도 높은 발송은 일정의 딜레이가 발생하며, 이는 수신측에서 재전송 대기를 위해 일정 시간 동안 데이터를 일시 저장하기 때문입니다. |
ordered | 순차 요구 여부. 즉, 수신측이 수신하는 데이터 순서와 발신측이 발송하는 순서의 일치 여부를 요구하는지 나타내며, 이는 수신측에서 해당 메시지를 일시 저장하고 정렬하기 때문에 일정한 수신 딜레이가 발생합니다. |
reliable과 ordered를 동시에 YES 또는 NO로 설정하십시오. 현재는 서로 다른 값으로 설정할 수 없습니다.
//사용자 정의 메시지 발송 예시 코드- (void)sendHello {// 사용자 정의 메시지 명령어로, 해당 부분은 서비스에서 사용자 정의한 규칙에 따라야 하며, 0X1을 발신 문자로 하는 메시지 전송 예시입니다.NSInteger cmdID = 0x1;NSData *data = [@"Hello" dataUsingEncoding:NSUTF8StringEncoding];// reliable과 ordered는 동일한 값으로 설정해야 합니다. 본 예시는 신뢰성이 보장되는 메시지가 발송 순서에 따라 도달하는 설정입니다.[trtcCloud sendCustomCmdMsg:cmdID data:data reliable:YES ordered:YES];}
//사용자 정의 메시지 발송 예시 코드public void sendHello() {try {// 사용자 정의 메시지 명령어로, 해당 부분은 서비스에서 사용자 정의한 규칙에 따라야 하며, 0X1을 발신 문자로 하는 메시지 전송 예시입니다.int cmdID = 0x1;String hello = "Hello";byte[] data = hello.getBytes("UTF-8");// reliable과 ordered는 동일한 값으로 설정해야 합니다. 본 예시는 신뢰성이 보장되는 메시지가 발송 순서에 따라 도달하는 설정입니다.trtcCloud.sendCustomCmdMsg(cmdID, data, true, true);} catch (UnsupportedEncodingException e) {e.printStackTrace();}}
// 사용자 정의 메시지 발송 예시 코드void sendHello(){// 사용자 정의 메시지 명령어로, 해당 부분은 서비스에서 사용자 정의한 규칙에 따라야 하며, 0X1을 발신 문자로 하는 메시지 전송 예시입니다.uint32_t cmdID = 0x1;uint8_t* data = { '1', '2', '3' };uint32_t dataSize = 3; // data 길이// reliable과 ordered는 동일한 값으로 설정해야 합니다. 본 예시는 신뢰성이 보장되는 메시지가 발송 순서에 따라 도달하는 설정입니다.trtcCloud->sendCustomCmdMsg(cmdID, data, dataSize, true, true);}
// 사용자 정의 메시지 발송 예시 코드private void sendHello(){// 사용자 정의 메시지 명령어로, 해당 부분은 서비스에서 사용자 정의한 규칙에 따라야 하며, 0X1을 발신 문자로 하는 메시지 전송 예시입니다.uint cmdID = 0x1;byte[] data = { '1', '2', '3' };uint dataSize = 3; // data 길이// reliable과 ordered는 동일한 값으로 설정해야 합니다. 본 예시는 신뢰성이 보장되는 메시지가 발송 순서에 따라 도달하는 설정입니다.mTRTCCloud.sendCustomCmdMsg(cmdID, data, dataSize, true, true);}
sendCustomCmdMsg
를 통해 사용자 정의 메시지를 발송하면, 방 안에 있는 다른 사용자는 SDK 콜백의 onRecvCustomCmdMsg
인터페이스를 통해 해당 메시지를 수신합니다.//방 안의 다른 사용자가 발송한 메시지 수신 및 처리- (void)onRecvCustomCmdMsgUserId:(NSString *)userId cmdID:(NSInteger)cmdId seq:(UInt32)seq message:(NSData *)message{// userId가 발송한 메시지 수신switch (cmdId) // 발신측과 수신측이 협의한 cmdId{case 0:// cmdId = 0 메시지 처리break;case 1:// cmdId = 1 메시지 처리break;case 2:// cmdId = 2 메시지 처리break;default:break;}}
//TRTCCloudListener를 상속하여 onRecvCustomCmdMsg 구현 방법으로 방 안에 있는 다른 사용자의 발송 메시지 수신 및 처리public void onRecvCustomCmdMsg(String userId, int cmdId, int seq, byte[] message) {// userId가 발송한 메시지 수신switch (cmdId) // 발신측과 수신측이 협의한 cmdId{case 0:// cmdId = 0 메시지 처리break;case 1:// cmdId = 1 메시지 처리break;case 2:// cmdId = 2 메시지 처리break;default:break;}
// 방 안의 다른 사용자가 발송한 메시지 수신 및 처리void TRTCCloudCallbackImpl::onRecvCustomCmdMsg(const char* userId, int32_t cmdId, uint32_t seq, const uint8_t* msg, uint32_t msgSize){// userId가 발송한 메시지 수신switch (cmdId) // 발신측과 수신측이 협의한 cmdId{case 0:// cmdId = 0 메시지 처리break;case 1:// cmdId = 1 메시지 처리break;case 2:// cmdId = 2 메시지 처리break;default:break;}}
// 방 안의 다른 사용자가 발송한 메시지 수신 및 처리public void onRecvCustomCmdMsg(string userId, int cmdId, uint seq, byte[] msg, uint msgSize){// userId가 발송한 메시지 수신switch (cmdId) // 발신측과 수신측이 협의한 cmdId{case 0:// cmdId = 0 메시지 처리break;case 1:// cmdId = 1 메시지 처리break;case 2:// cmdId = 2 메시지 처리break;default:break;}}
문제 해결에 도움이 되었나요?