설명
chrome.sockets.udp
API를 사용하여 UDP 연결을 사용하여 네트워크를 통해 데이터를 주고받습니다. 이 API는 이전에 '소켓'에 있던 UDP 기능을 대체합니다. API에 액세스할 수 있습니다.
매니페스트
유형
CreateInfo
속성
-
socketId
숫자
새로 생성된 소켓의 ID입니다. 이 API에서 만든 소켓 ID는 지원 중단된
[
socket](../socket/)
API와 같이 다른 API에서 만든 소켓 ID와 호환되지 않습니다.
DnsQueryType
DNS 변환 환경설정 기본값은 any
이며 IPv4 또는 IPv6를 반환할 수 있는 현재 OS 구성을 사용합니다. ipv4
는 IPv4를 강제 실행하고 ipv6
는 IPv6를 강제 적용합니다.
열거형
'모두'
"ipv4"
"ipv6"
ReceiveErrorInfo
속성
-
resultCode
숫자
기본 recvfrom() 호출에서 반환된 결과 코드입니다.
-
socketId
숫자
소켓 ID.
ReceiveInfo
속성
-
데이터
배열 버퍼
UDP 패킷 콘텐츠 (현재 버퍼 크기로 잘림)입니다.
-
remoteAddress
문자열
패킷이 시작된 호스트의 주소입니다.
-
remotePort
숫자
패킷이 전송되는 호스트의 포트입니다.
-
socketId
숫자
소켓 ID.
SendInfo
속성
-
bytesSent
숫자 선택사항
전송된 바이트 수입니다 (결과 == 0인 경우).
-
resultCode
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.
SocketInfo
속성
-
bufferSize
숫자 선택사항
데이터를 수신하는 데 사용되는 버퍼의 크기. 버퍼 크기가 명시적으로 지정되지 않은 경우 값이 제공되지 않습니다.
-
localAddress
문자열(선택사항)
기본 소켓이 바인딩된 경우 로컬 IPv4/6 주소가 포함됩니다.
-
localPort
숫자 선택사항
기본 소켓이 바인딩된 경우 로컬 포트가 포함됩니다.
-
이름
문자열(선택사항)
소켓과 연결된 애플리케이션 정의 문자열입니다.
-
일시중지됨
부울
소켓이 onReceived 이벤트 실행을 차단했는지 여부를 나타내는 플래그.
-
영구
부울
애플리케이션이 정지될 때 소켓이 열려 있는지 여부를 나타내는 플래그입니다 (
SocketProperties.persistent
참고). -
socketId
숫자
소켓 식별자입니다.
SocketProperties
속성
-
bufferSize
숫자 선택사항
데이터를 수신하는 데 사용되는 버퍼의 크기. 버퍼가 너무 작아 UDP 패킷을 수신할 수 없으면 데이터가 손실됩니다. 기본값은 4,096입니다.
-
이름
문자열(선택사항)
소켓과 연결된 애플리케이션 정의 문자열입니다.
-
영구
불리언 선택사항
애플리케이션의 이벤트 페이지가 언로드될 때 소켓이 열려 있는지 나타내는 플래그입니다 (앱 수명 주기 관리 참조). 기본값은 'false'입니다. 애플리케이션이 로드될 때 이전에Persistent=true로 열린 소켓을
getSockets
로 가져올 수 있습니다.
메서드
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
소켓의 로컬 주소와 포트를 바인딩합니다. 클라이언트 소켓의 경우 포트 0을 사용하여 플랫폼이 사용 가능한 포트를 선택하도록 하는 것이 좋습니다.
bind
작업이 성공적으로 완료되면 소켓이 일시중지되지 않는 한 UDP 패킷이 지정된 주소/포트에 도착할 때 onReceive
이벤트가 발생합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
주소
문자열
로컬 머신의 주소입니다. DNS 이름, IPv4, IPv6 형식이 지원됩니다. '0.0.0.0' 사용 사용 가능한 모든 로컬 네트워크 인터페이스의 패킷을 수락합니다.
-
포트
숫자
로컬 머신의 포트입니다. '0' 사용 여유 포트에 바인딩해야 합니다
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
)
소켓을 닫고 소켓이 바인딩된 주소/포트를 해제합니다. 생성한 각 소켓은 사용 후에는 닫아야 합니다. 함수가 호출되는 즉시 소켓 ID가 더 이상 유효하지 않습니다. 그러나 소켓은 콜백이 호출된 경우에만 닫힙니다.
매개변수
-
socketId
숫자
소켓 ID.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
지정된 속성으로 UDP 소켓을 만듭니다.
매개변수
-
속성
SocketProperties 선택사항
소켓 속성 (선택사항)
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(createInfo: CreateInfo) => void
-
createInfo
소켓 생성 결과입니다.
-
반환 값
-
Promise<CreateInfo>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
지정된 소켓의 상태를 검색합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(socketInfo: SocketInfo) => void
-
socketInfo
소켓 정보를 포함하는 객체입니다.
-
반환 값
-
Promise<SocketInfo>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
소켓이 현재 연결된 멀티캐스트 그룹 주소를 가져옵니다.
매개변수
-
socketId
숫자
소켓 ID.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(groups: string[]) => void
-
그룹
문자열[]
소켓이 조인된 그룹의 배열입니다.
-
반환 값
-
Promise<string[]>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
애플리케이션이 소유한 현재 열려 있는 소켓의 목록을 검색합니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(socketInfos: SocketInfo[]) => void
-
socketInfos
소켓 정보를 포함하는 객체의 배열입니다.
-
반환 값
-
Promise<SocketInfo[]>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
)
멀티캐스트 그룹에 참여하여 해당 그룹에서 패킷을 받기 시작합니다. 이 메서드를 호출하기 전에 소켓을 로컬 포트에 바인딩해야 합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
주소
문자열
참여할 그룹 주소입니다. 도메인 이름은 지원되지 않습니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
이전에 joinGroup
를 사용하여 조인된 멀티캐스트 그룹에서 나갑니다. 이 작업은 소켓이 닫힐 때 OS에서 자동으로 실행되므로 이후에 소켓을 계속 사용하려는 경우에만 호출해야 합니다.
그룹을 탈퇴하면 호스트의 다른 프로세스가 그룹에 가입되어 있지 않다고 가정할 때 라우터가 멀티캐스트 데이터그램을 로컬 호스트로 전송하지 못합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
주소
문자열
탈퇴할 그룹 주소입니다. 도메인 이름은 지원되지 않습니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
지정된 소켓에서 지정된 주소 및 포트로 데이터를 전송합니다. 이 메서드를 호출하기 전에 소켓을 로컬 포트에 바인딩해야 합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
데이터
배열 버퍼
전송할 데이터입니다.
-
주소
문자열
원격 시스템의 주소입니다.
-
포트
숫자
원격 머신의 포트입니다.
-
dnsQueryType
DnsQueryType 선택사항
Chrome 103 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.주소 해상도 환경설정입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(sendInfo: SendInfo) => void
-
sendInfo
send
메서드의 결과입니다.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
이 소켓에서 브로드캐스트 패킷을 사용 설정하거나 사용 중지합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
사용 설정됨
부울
브로드캐스트 패킷을 사용 설정하려면
true
, 사용 중지하려면false
하세요. -
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
호스트에서 멀티캐스트 그룹으로 전송된 멀티캐스트 패킷을 호스트로 루프백할지 여부를 설정합니다.
참고: setMulticastLoopbackMode
의 동작은 Windows 시스템과 Unix 계열 시스템 간에 약간 다릅니다. 비일관성은 동일한 호스트에서 둘 이상의 애플리케이션이 동일한 멀티캐스트 그룹에 조인되고 멀티캐스트 루프백 모드에 다른 설정이 있는 경우에만 발생합니다. Windows에서 루프백이 해제된 애플리케이션은 루프백 패킷을 수신하지 못합니다. Unix 계열 시스템에서 루프백을 끈 애플리케이션은 동일한 호스트의 다른 애플리케이션에 루프백 패킷을 보내지 않습니다. MSDN 참조: http://goo.gl/6vqbj
이 메서드를 호출하는 데는 멀티캐스트 권한이 필요하지 않습니다.
매개변수
-
socketId
숫자
소켓 ID.
-
사용 설정됨
부울
루프백 모드를 사용 설정할지 여부를 나타냅니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
멀티캐스트 그룹으로 전송된 멀티캐스트 패킷의 TTL(수명)을 설정합니다.
이 메서드를 호출하는 데는 멀티캐스트 권한이 필요하지 않습니다.
매개변수
-
socketId
숫자
소켓 ID.
-
ttl
숫자
TTL(수명) 값입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
기본 네트워크 호출에서 반환된 결과 코드입니다. 음수 값은 오류를 나타냅니다.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
소켓을 일시중지하거나 일시중지를 해제합니다. 일시중지된 소켓이 onReceive
이벤트 실행이 차단되었습니다.
매개변수
-
socketId
숫자
-
일시중지됨
부울
일시중지 또는 일시중지 해제 여부를 나타내는 플래그입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
소켓 속성을 업데이트합니다.
매개변수
-
socketId
숫자
소켓 ID.
-
업데이트할 속성입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
이벤트
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
지정된 소켓의 UDP 패킷이 수신되면 이벤트가 발생합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(info: ReceiveInfo) => void
-
정보
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
런타임이 소켓 주소 및 포트에서 데이터를 기다리는 동안 네트워크 오류가 발생하면 이벤트가 발생합니다. 이 이벤트가 발생하면 소켓이 일시중지되고 소켓이 재개될 때까지 이 소켓에 관한 onReceive
이벤트가 더 이상 발생하지 않습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(info: ReceiveErrorInfo) => void