설명
chrome.socket
API를 사용하여 TCP 및 UDP 연결을 사용하여 네트워크를 통해 데이터를 주고받습니다. 참고: Chrome 33부터 이 API는 지원 중단되고 sockets.udp
, sockets.tcp
, sockets.tcpServer
API로 대체됩니다.
권한
socket
유형
AcceptInfo
속성
-
resultCode
숫자
-
socketId
숫자 선택사항
허용된 소켓의 ID입니다.
CreateInfo
속성
-
socketId
숫자
새로 생성된 소켓의 ID입니다.
CreateOptions
NetworkInterface
속성
-
주소
문자열
사용 가능한 IPv4/6 주소입니다.
-
이름
문자열
어댑터의 기본 이름입니다. *nix에서는 일반적으로 'eth0', 'lo' 등입니다.
-
prefixLength
숫자
프리픽스 길이
ReadInfo
속성
-
데이터
배열 버퍼
-
resultCode
숫자
기본 read() 호출에서 반환된 resultCode입니다.
RecvFromInfo
속성
-
주소
문자열
원격 시스템의 주소입니다.
-
데이터
배열 버퍼
-
포트
숫자
-
resultCode
숫자
기본 recvfrom() 호출에서 반환된 resultCode입니다.
SecureOptions
속성
-
tlsVersion
SocketInfo
속성
-
연결됨
부울
기본 소켓이 연결되어 있는지 여부입니다.
tcp
소켓의 경우 원격 피어의 연결이 끊겨도 true로 유지됩니다. 소켓을 읽거나 쓸 때 오류가 발생하여disconnect()
를 통해 이 소켓의 연결을 끊어야 할 수 있습니다.udp
소켓의 경우 패킷 읽기 및 쓰기를 위해 기본 원격 주소가 지정되었는지 여부만 나타냅니다. -
localAddress
문자열(선택사항)
기본 소켓이 결합되거나 연결된 경우 로컬 IPv4/6 주소가 포함됩니다.
-
localPort
숫자 선택사항
기본 소켓이 바인딩되거나 연결된 경우 로컬 포트가 포함됩니다.
-
peerAddress
문자열(선택사항)
기본 소켓이 연결된 경우 피어의 IPv4/6 주소를 포함합니다.
-
peerPort
숫자 선택사항
기본 소켓이 연결되면 연결된 피어의 포트가 포함됩니다.
-
socketType
전달된 소켓의 유형입니다.
tcp
또는udp
입니다.
SocketType
열거형
'tcp'
"udp"
TLSVersionConstraints
속성
-
최대
문자열(선택사항)
-
분
문자열(선택사항)
TLS의 허용 가능한 최소 및 최대 버전입니다. 지원되는 값은
tls1.2
또는tls1.3
입니다.tls1
및tls1.1
값은 더 이상 지원되지 않습니다.min
가 이러한 값 중 하나로 설정되면 자동으로tls1.2
로 고정됩니다.max
가 이러한 값 중 하나 또는 인식할 수 없는 다른 값으로 설정되면 자동으로 무시됩니다.
WriteInfo
속성
-
bytesWritten
숫자
전송된 바이트 수 또는 음수 오류 코드입니다.
메서드
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
이 방법은 TCP 소켓에만 적용됩니다. 이 수신 대기 서버 소켓에서 연결이 수락될 때 호출할 콜백 함수를 등록합니다. Listen을 먼저 호출해야 합니다. 이미 활성화된 수락 콜백이 있는 경우 이 콜백이 즉시 호출되고 resultCode로 표시됩니다.
매개변수
-
socketId
숫자
socketId입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
소켓의 로컬 주소를 바인딩합니다. 현재는 TCP 소켓을 지원하지 않습니다.
매개변수
-
socketId
숫자
socketId입니다.
-
주소
문자열
로컬 머신의 주소입니다.
-
포트
숫자
로컬 머신의 포트입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
소켓을 원격 머신에 연결합니다 (tcp
소켓의 경우). udp
소켓의 경우 read()
및 write()
호출에서 패킷이 전송되고 읽는 기본 주소를 설정합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
hostname
문자열
원격 머신의 호스트 이름 또는 IP 주소입니다.
-
포트
숫자
원격 머신의 포트입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
지정된 원격 머신에 연결할 지정된 유형의 소켓을 만듭니다.
매개변수
-
유형
생성할 소켓 유형입니다.
tcp
또는udp
여야 합니다. -
옵션
CreateOptions 선택사항
소켓 옵션입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(createInfo: CreateInfo) => void
-
createInfo
-
반환 값
-
Promise<CreateInfo>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
destroy()
chrome.socket.destroy(
socketId: number,
)
소켓을 소멸시킵니다. 생성된 각 소켓은 사용 후 폐기해야 합니다.
매개변수
-
socketId
숫자
socketId입니다.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
소켓의 연결을 해제합니다. UDP 소켓의 경우 disconnect
는 작업이 아니지만 호출해도 안전합니다.
매개변수
-
socketId
숫자
socketId입니다.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
지정된 소켓의 상태를 검색합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: SocketInfo) => void
-
결과
-
반환 값
-
Promise<SocketInfo>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
소켓이 현재 연결된 멀티캐스트 그룹 주소를 가져옵니다.
매개변수
-
socketId
숫자
socketId입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(groups: string[]) => void
-
그룹
문자열[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
이 시스템의 로컬 어댑터 정보를 검색합니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(result: NetworkInterface[]) => void
-
결과
-
반환 값
-
Promise<NetworkInterface[]>
Chrome 121 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
멀티캐스트 그룹에 참여하여 해당 그룹에서 패킷을 받기 시작합니다. 소켓은 UDP 유형이어야 하며 이 메서드를 호출하기 전에 로컬 포트에 바인딩해야 합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
주소
문자열
참여할 그룹 주소입니다. 도메인 이름은 지원되지 않습니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
이전에 joinGroup
를 사용하여 조인된 멀티캐스트 그룹에서 나갑니다. 소켓을 삭제하거나 종료하기 전에 멀티캐스트 그룹을 나갈 필요는 없습니다. 이는 OS에서 자동으로 호출합니다.
그룹을 탈퇴하면 호스트의 다른 프로세스가 그룹에 가입되어 있지 않다고 가정할 때 라우터가 멀티캐스트 데이터그램을 로컬 호스트로 전송하지 못합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
주소
문자열
탈퇴할 그룹 주소입니다. 도메인 이름은 지원되지 않습니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
이 방법은 TCP 소켓에만 적용됩니다. 지정된 포트와 주소에서 연결을 수신 대기합니다. 이로 인해 서버 소켓이 되고 클라이언트 소켓 함수 (연결, 읽기, 쓰기)를 더 이상 이 소켓에서 사용할 수 없게 됩니다.
매개변수
-
socketId
숫자
socketId입니다.
-
주소
문자열
로컬 머신의 주소입니다.
-
포트
숫자
로컬 머신의 포트입니다.
-
백로그
숫자 선택사항
소켓 수신 대기 큐의 길이입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
지정된 연결된 소켓에서 데이터를 읽습니다.
매개변수
-
socketId
숫자
socketId입니다.
-
bufferSize
숫자 선택사항
읽기 버퍼 크기입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
지정된 UDP 소켓에서 데이터를 수신합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
bufferSize
숫자 선택사항
수신 버퍼 크기.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
연결된 TCP 클라이언트 소켓을 통해 TLS 클라이언트 연결을 시작합니다.
매개변수
-
socketId
숫자
사용할 연결된 소켓.
-
옵션
SecureOptions 선택사항
TLS 연결의 제약조건 및 매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
지정된 UDP 소켓에서 지정된 주소 및 포트로 데이터를 전송합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
데이터
배열 버퍼
쓸 데이터입니다.
-
주소
문자열
원격 시스템의 주소입니다.
-
포트
숫자
원격 머신의 포트입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
TCP 연결에 대한 연결 유지 기능을 사용 또는 사용 중지합니다.
매개변수
-
socketId
숫자
socketId입니다.
-
사용 설정
부울
true인 경우 연결 유지 기능을 사용 설정합니다.
-
delay
숫자 선택사항
수신된 마지막 데이터 패킷과 첫 번째 연결 유지 프로브 사이의 지연 시간(초)을 설정합니다. 기본값은 0입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: boolean) => void
-
결과
부울
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
호스트에서 멀티캐스트 그룹으로 전송된 멀티캐스트 패킷을 호스트로 루프백할지 여부를 설정합니다.
참고: setMulticastLoopbackMode
의 동작은 Windows 시스템과 Unix 계열 시스템 간에 약간 다릅니다. 비일관성은 동일한 호스트에서 둘 이상의 애플리케이션이 동일한 멀티캐스트 그룹에 조인되고 멀티캐스트 루프백 모드에 다른 설정이 있는 경우에만 발생합니다. Windows에서 루프백이 해제된 애플리케이션은 루프백 패킷을 수신하지 못합니다. Unix 계열 시스템에서 루프백을 끈 애플리케이션은 동일한 호스트의 다른 애플리케이션에 루프백 패킷을 보내지 않습니다. MSDN 참조: http://goo.gl/6vqbj
이 메서드를 호출하는 데는 멀티캐스트 권한이 필요하지 않습니다.
매개변수
-
socketId
숫자
socketId입니다.
-
사용 설정됨
부울
루프백 모드를 사용 설정할지 여부를 나타냅니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
멀티캐스트 그룹으로 전송된 멀티캐스트 패킷의 TTL(수명)을 설정합니다.
이 메서드를 호출하는 데는 멀티캐스트 권한이 필요하지 않습니다.
매개변수
-
socketId
숫자
socketId입니다.
-
ttl
숫자
TTL(수명) 값입니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: number) => void
-
결과
숫자
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
TCP 연결의 TCP_NODELAY
를 설정하거나 지웁니다. TCP_NODELAY
가 설정되면 Nagle 알고리즘이 사용 중지됩니다.
매개변수
-
socketId
숫자
socketId입니다.
-
noDelay
부울
true인 경우 Nagle의 알고리즘을 사용 중지합니다.
-
콜백
함수
callback
매개변수는 다음과 같습니다.(result: boolean) => void
-
결과
부울
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
지정된 연결된 소켓에 데이터를 씁니다.