: OpenVidu Java Client 라이브러리에서 사용되는 클래스로서, 세션 생성 시에 세션의 속성을 설정하기 위해 사용한다.
다양한 설정을 지정할 수 있다.
Ex) 세션 이름, 세션의 녹화 여부, 세션의 브로드캐스트 여부
Code
// Create a new session with properties
SessionProperties properties = new SessionProperties.Builder()
.name("MySession") // Set session name
.recording(true) // Enable recording for the session
.broadcast(true) // Enable broadcasting for the session
.build();
// Create the session with the specified properties
Session session = openVidu.createSession(properties);
SessionProperties.Builder()를 사용하여 SessionProperties 객체를 만들고, 각각의 속성을 설정한 후 build() 메서드를 호출하여 최종 SessionProperties 객체를 생성한다.
이렇게 생성된 SessionProperties 객체는 openVidu.createSession() 메서드에 전달하여 세션을 생성할 때 사용한다.
: OpenVidu API를 사용하여 WebRTC 기반의 영상 통화나 영상 스트리밍과 같은 연결을 설정할 때 사용되는 옵션들을 설정하기 위한 클래스이다.
✔ 이 클래스를 사용하여 연결을 생성할 때 원하는 설정을 지정할 수 있습니다.
import io.openvidu.java.client.ConnectionProperties;
import io.openvidu.java.client.Connection;
import io.openvidu.java.client.Session;
// OpenVidu 객체가 생성되었다고 가정
OpenVidu openVidu = new OpenVidu("https://your-openvidu-server");
// 새로운 세션 생성
Session session = openVidu.createSession();
// ConnectionProperties 생성
ConnectionProperties connectionProperties = new ConnectionProperties.Builder()
.type(ConnectionType.WEBRTC) // 연결 타입 설정 (WebRTC로 지정)
.data("Some custom data") // 사용자 정의 데이터 설정 (선택 사항)
.build();
// Connection 생성
Connection connection = session.createConnection(connectionProperties);
type
: 연결의 타입을 설정한다.. 주로 WebRTC 연결을 사용하므로 ConnectionType.WEBRTC 로 설정함data
: 사용자 정의 데이터를 설정할 수 있습니다. 이를 활용하여 연결된 사용자에 대한 추가 정보를 전달할 수 있다.role
: 연결의 역할을 지정한다. 주로 publisher와 subscriber 역할이 사용함.kurentoOptions
: Kurento 서버에 전달할 추가 옵션을 설정합니다. Kurento는 OpenVidu 서버의 뒷단에서 WebRTC 연결을 관리하는 데 사용되는 미디어 서버입니다.: 세션의 옵션으로 세션을 생성하고 저장한다.
Session session = openVidu.createSession(properties);
: OpenVidu 클래스에서 정의된 메서드로 주어진 세션 ID에 해당하는 활성화된(현재 사용 중인) 세션을 가져오는 역할을 합니다.
public Session getActiveSession(String sessionId)
📌 getActiveSession 메서드를 호출하여 특정 세션을 가져올 수 있으며, 해당 세션은 OpenVidu 클래스에서 관리되고 있는 활성화된 세션들 중 하나일 것이다.
📌 세션 객체에는 해당 세션의 정보와 속성들이 담겨있으며, 필요에 따라 세션 객체의 메서드들을 사용하여 세션을 관리하거나 상태를 확인할 수 있다.
SessionProperties클래스를 활용해 requestBody로 받아온 Json 형식 데이터를 역직렬화해서 객체로 넣어준다.
session.createSession(properties) 로 ConcurrentHashMap 형태의 멤버변수로 선언되어있는 activeSessions에 새로운 세션을 넣어준다.
(key-value ➡ sessionId-session)
session.ActiveSession(sessionId) 로 sessionId에 맞는 세션을 찾는다. (없으면 null 반환)
ConnectionProperties로 연결에 필요한 속성을 세팅함.
Connection으로 session.createConnection(properties)을 함으로써 세션을 연결함
정보 감사합니다.