문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 뒤끝 SDK 버전 : 5.7.0
- 프로젝트명 : 다크니스
안녕하세요. 늘 수고가 많으십니다. 현재 뒤끝 개발자 (thebackend.io)
해당 링크를 참조하여, 뒤끝챗 구현을 끝내놓은 상태입니다. 문의 드릴 내용이
채팅방에 200명이 참가하게 되면, 자동으로 채널이 생성되는 형태인가요?
이 부분을 문의 드리는 연유가 제가 콘솔창 채널 그룹에서 [자동 생성] 체크하고, 채널을 생성하였습니다.
이후 채널이 없으면 채널이 자동으로 하나 생성되면서 입장하는 것을 볼 수 있었는데요.
문제는 콘솔창에서 [자동 생성]을 체크할때 채널 full 입장 시 자동생성이라는 글을 보았습니다.
근데 위에 코드 상에서는 채팅방에 190명 이상이 되었을 때부터 다른 채널을 찾는데요.
이렇게 되면, 만약 190명 이상의 인원이 들어온 상태에서 아직 200명은 차지 않았기 때문에
채널이 생성되지 않고, 생성된 채널이 없기 때문에 채팅 오류가 발생하지 않나요?
이 부분 문의 드립니다.
void SearchChannel()
{
string groupName = "다크니스";
string serverAddress = "";
string alias = "";
string inDate = "";
ushort serverPort = 50000;
if (chatStatus == true)
{
BackendReturnObject bro = Backend.Chat.GetGroupChannelList(groupName);
if (bro.IsSuccess())
{
var channels = bro.Rows();
for (int i = 0; i < channels.Count; ++i)
{
// 순서대로 190명 이상 들어가 있지 않는 채널을 찾기
var count = channels[i]["joinedUserCount"].ToString();
var num = Convert.ToInt32(count);
if (num >= 190)
{
continue;
}
else
{
// 들어갈 채널을 찾았으면 정보를 받고 채널 탐색 종료(break)
serverAddress = channels[i]["serverAddress"].ToString();
alias = channels[i]["alias"].ToString();
inDate = channels[i]["inDate"].ToString();
serverPort = ushort.Parse(channels[i]["serverPort"].ToString());
break;
}
}
Debug.Log(string.Format("address : {0} / groupName : {1} / inDate : {2} / alias : {3}", serverAddress, groupName, inDate, alias));
// 얻은 인자 값으로 입장
ErrorInfo errorInfo;
Backend.Chat.JoinChannel(ChannelType.Public, serverAddress, 50000, groupName, inDate, out errorInfo);
Debug.Log(errorInfo);
}
else
{
Debug.Log("Error to GetGroupChannelList: " + bro);
}
}
}
(해당 코드에 if (num >= 190) 조건을 if (num <= 190)으로 두고 테스트 결과 채널을 찾지
못해 오류가 발생했습니다. 실제로 190개의 계정을 생성해 접속할 수가 없어 코드로만 확인이
가능하네요…)