คำอธิบาย
ใช้ chrome.sockets.tcp API เพื่อส่งและรับข้อมูลผ่านเครือข่ายโดยใช้การเชื่อมต่อ TCP API นี้มีผลแทนฟังก์ชันการทำงานของ TCP ที่เคยอยู่ใน chrome.socket API
ไฟล์ Manifest
ประเภท
CreateInfo
พร็อพเพอร์ตี้
-
socketId
ตัวเลข
รหัสของซ็อกเก็ตที่สร้างใหม่ โปรดทราบว่ารหัสซ็อกเก็ตที่สร้างจาก API นี้ใช้ร่วมกับรหัสซ็อกเก็ตที่สร้างจาก API อื่นๆ ไม่ได้ เช่น API
[socket](../socket/)ที่เลิกใช้งานแล้ว
DnsQueryType
ค่ากำหนดการแปลง DNS ค่าเริ่มต้นคือ any และใช้การกำหนดค่าระบบปฏิบัติการปัจจุบันซึ่งอาจแสดงผลเป็น IPv4 หรือ IPv6 ipv4 บังคับใช้ IPv4 และ ipv6 บังคับใช้ IPv6
ค่าแจกแจง
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
พร็อพเพอร์ตี้
-
resultCode
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
ReceiveInfo
พร็อพเพอร์ตี้
-
เพิ่มเติม
ArrayBuffer
ข้อมูลที่ได้รับ โดยมีขนาดสูงสุด
bufferSize -
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
SecureOptions
พร็อพเพอร์ตี้
-
tlsVersion
TLSVersionConstraints ไม่บังคับ
SendInfo
พร็อพเพอร์ตี้
-
bytesSent
number ไม่บังคับ
จำนวนไบต์ที่ส่ง (หากผลลัพธ์ == 0)
-
resultCode
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง ค่าลบแสดงถึงข้อผิดพลาด
SocketInfo
พร็อพเพอร์ตี้
-
bufferSize
number ไม่บังคับ
ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล หากไม่ได้ระบุขนาดบัฟเฟอร์ไว้อย่างชัดเจน ระบบจะไม่ระบุค่า
-
เชื่อมต่อแล้ว
บูลีน
การแจ้งที่ระบุว่าซ็อกเก็ตเชื่อมต่อกับเพียร์ระยะไกลหรือไม่
-
localAddress
สตริง ไม่บังคับ
หากซ็อกเก็ตที่เกี่ยวข้องเชื่อมต่ออยู่ จะมีที่อยู่ IPv4/6 ในเครื่อง
-
localPort
number ไม่บังคับ
หากซ็อกเก็ตที่เกี่ยวข้องเชื่อมต่ออยู่ จะมีพอร์ตในเครื่อง
-
name
สตริง ไม่บังคับ
สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต
-
หยุดชั่วคราว
บูลีน
แฟล็กที่ระบุว่าซ็อกเก็ตที่เชื่อมต่อบล็อกเพียร์ไม่ให้ส่งข้อมูลเพิ่มเติมหรือไม่ (ดู
setPaused) -
peerAddress
สตริง ไม่บังคับ
หากซ็อกเก็ตที่สำคัญเชื่อมต่ออยู่ จะมีที่อยู่ IPv4/6 ของเพียร์
-
peerPort
number ไม่บังคับ
หากซ็อกเก็ตที่เกี่ยวข้องเชื่อมต่ออยู่ จะมีพอร์ตเพียร์
-
ถาวร
บูลีน
แฟล็กที่ระบุว่าซ็อกเก็ตเปิดอยู่หรือไม่เมื่อแอปพลิเคชันถูกระงับ (ดู
SocketProperties.persistent) -
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
SocketProperties
พร็อพเพอร์ตี้
-
bufferSize
number ไม่บังคับ
ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล ค่าเริ่มต้นคือ 4096
-
name
สตริง ไม่บังคับ
สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต
-
ถาวร
บูลีน ไม่บังคับ
แฟล็กที่ระบุว่าซ็อกเก็ตเปิดอยู่หรือไม่เมื่อหน้าเหตุการณ์ของแอปพลิเคชันถูกยกเลิกการโหลด (ดูจัดการวงจรของแอป) ค่าเริ่มต้นคือ "false" เมื่อโหลดแอปพลิเคชันแล้ว คุณจะดึงข้อมูลซ็อกเก็ตที่เปิดไว้ก่อนหน้านี้ด้วย persistent=true ได้โดยใช้
getSockets
TLSVersionConstraints
พร็อพเพอร์ตี้
-
สูงสุด
สตริง ไม่บังคับ
-
นาที
สตริง ไม่บังคับ
เวอร์ชัน TLS ขั้นต่ำและสูงสุดที่ยอมรับได้ ค่าที่รองรับคือ
tls1.2หรือtls1.3ระบบไม่รองรับค่า
tls1และtls1.1อีกต่อไป หากตั้งค่าminเป็นค่าใดค่าหนึ่งเหล่านี้ ระบบจะจำกัดค่าเป็นtls1.2โดยไม่มีการแจ้งเตือน หากตั้งค่าmaxเป็นค่าใดค่าหนึ่งดังกล่าว หรือค่าอื่นๆ ที่ไม่รู้จัก ระบบจะไม่สนใจค่าดังกล่าวโดยไม่มีการแจ้งเตือน
เมธอด
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
ปิดซ็อกเก็ตและปล่อยที่อยู่/พอร์ตที่ซ็อกเก็ตเชื่อมโยงอยู่ ควรปิดซ็อกเก็ตแต่ละรายการที่สร้างขึ้นหลังการใช้งาน รหัสซ็อกเก็ตจะใช้ไม่ได้อีกต่อไปทันทีที่มีการเรียกใช้ฟังก์ชัน อย่างไรก็ตาม ระบบจะรับประกันว่าซ็อกเก็ตจะปิดก็ต่อเมื่อมีการเรียกใช้ Callback เท่านั้น
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
เชื่อมต่อซ็อกเก็ตกับเครื่องระยะไกล เมื่อการดำเนินการ connect เสร็จสมบูรณ์ ระบบจะสร้างเหตุการณ์ onReceive เมื่อได้รับข้อมูลจากเพียร์ หากเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะที่รันไทม์กำลังรับแพ็กเก็ต ระบบจะสร้างเหตุการณ์ onReceiveError ขึ้น ซึ่งจะไม่มีการสร้างเหตุการณ์ onReceive สำหรับซ็อกเก็ตนี้อีกจนกว่าจะมีการเรียกใช้เมธอด resume
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
peerAddress
สตริง
ที่อยู่ของเครื่องระยะไกล ระบบรองรับรูปแบบชื่อ DNS, IPv4 และ IPv6
-
peerPort
ตัวเลข
พอร์ตของเครื่องระยะไกล
-
dnsQueryType
DnsQueryType ไม่บังคับ
Chrome 103 ขึ้นไปค่ากำหนดการแปลงที่อยู่
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(result: number) => void
-
ผลลัพธ์
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง ค่าลบแสดงถึงข้อผิดพลาด
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
สร้างซ็อกเก็ต TCP
พารามิเตอร์
-
พร็อพเพอร์ตี้
SocketProperties ไม่บังคับ
พร็อพเพอร์ตี้ซ็อกเก็ต (ไม่บังคับ)
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(createInfo: CreateInfo) => void
-
createInfo
ผลลัพธ์ของการสร้างซ็อกเก็ต
-
การคืนสินค้า
-
Promise<CreateInfo>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
ยกเลิกการเชื่อมต่อซ็อกเก็ต
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
ดึงข้อมูลสถานะของซ็อกเก็ตที่ระบุ
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(socketInfo: SocketInfo) => void
-
socketInfo
ออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต
-
การคืนสินค้า
-
Promise<SocketInfo>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
ดึงข้อมูลรายการซ็อกเก็ตที่เปิดอยู่ซึ่งเป็นของแอปพลิเคชัน
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(socketInfos: SocketInfo[]) => void
-
socketInfos
อาร์เรย์ของออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต
-
การคืนสินค้า
-
Promise<SocketInfo[]>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
เริ่มการเชื่อมต่อไคลเอ็นต์ TLS ผ่านซ็อกเก็ตไคลเอ็นต์ TCP ที่เชื่อมต่อ
พารามิเตอร์
-
socketId
ตัวเลข
ซ็อกเก็ตที่เชื่อมต่ออยู่ซึ่งมีอยู่แล้วที่จะใช้
-
ตัวเลือก
SecureOptions ไม่บังคับ
ข้อจำกัดและพารามิเตอร์สำหรับการเชื่อมต่อ TLS
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(result: number) => void
-
ผลลัพธ์
ตัวเลข
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
ส่งข้อมูลบนซ็อกเก็ต TCP ที่ระบุ
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
เพิ่มเติม
ArrayBuffer
ข้อมูลที่จะส่ง
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(sendInfo: SendInfo) => void
-
sendInfo
ผลลัพธ์ของเมธอด
send
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
เปิดหรือปิดใช้ฟังก์ชัน Keep-Alive สำหรับการเชื่อมต่อ TCP
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
เปิดใช้
บูลีน
หากเป็นจริง ให้เปิดใช้ฟังก์ชันการทำงานของ Keep-Alive
-
ล่าช้า
number ไม่บังคับ
ตั้งค่าจำนวนวินาทีที่ล่าช้าระหว่างกลุ่มข้อมูลล่าสุดที่ได้รับกับการตรวจสอบ Keepalive ครั้งแรก ค่าเริ่มต้นคือ 0
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(result: number) => void
-
ผลลัพธ์
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง ค่าลบแสดงถึงข้อผิดพลาด
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
ตั้งค่าหรือล้าง TCP_NODELAY สำหรับการเชื่อมต่อ TCP ระบบจะปิดใช้อัลกอริทึมของ Nagle เมื่อตั้งค่า TCP_NODELAY
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
noDelay
บูลีน
หากเป็นจริง ระบบจะปิดใช้อัลกอริทึมของ Nagle
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(result: number) => void
-
ผลลัพธ์
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง ค่าลบแสดงถึงข้อผิดพลาด
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
เปิดหรือปิดใช้แอปพลิเคชันไม่ให้รับข้อความจากแอปพลิเคชันเทียบเท่า ค่าเริ่มต้นคือ "false" โดยปกติแล้ว แอปพลิเคชันจะใช้การหยุดซ็อกเก็ตชั่วคราวเพื่อจำกัดข้อมูลที่ส่งโดยแอปพลิเคชันเทียบเท่า เมื่อซ็อกเก็ตหยุดชั่วคราว ระบบจะไม่สร้างเหตุการณ์ onReceive เมื่อเชื่อมต่อซ็อกเก็ตและยกเลิกการหยุดชั่วคราว เหตุการณ์ onReceive จะเกิดขึ้นอีกครั้งเมื่อได้รับข้อความ
พารามิเตอร์
-
socketId
ตัวเลข
-
หยุดชั่วคราว
บูลีน
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
อัปเดตพร็อพเพอร์ตี้ของซ็อกเก็ต
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ที่จะอัปเดต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
กิจกรรม
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อได้รับข้อมูลสำหรับซ็อกเก็ตที่ระบุ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(info: ReceiveInfo) => void
-
ข้อมูล
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะที่รันไทม์กำลังรอข้อมูลในที่อยู่ซ็อกเก็ตและพอร์ต เมื่อเหตุการณ์นี้เกิดขึ้น ระบบจะตั้งค่าซ็อกเก็ตเป็น paused และจะไม่มีเหตุการณ์ onReceive เกิดขึ้นอีกสำหรับซ็อกเก็ตนี้
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(info: ReceiveErrorInfo) => void
-
ข้อมูล
-