คำอธิบาย
ใช้ chrome.sockets.tcpServer API เพื่อสร้างแอปพลิเคชันเซิร์ฟเวอร์โดยใช้การเชื่อมต่อ TCP API นี้มีผลแทนฟังก์ชันการทำงานของ TCP ที่เคยอยู่ใน chrome.socket API
ไฟล์ Manifest
ประเภท
AcceptErrorInfo
พร็อพเพอร์ตี้
-
resultCode
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์
AcceptInfo
พร็อพเพอร์ตี้
-
clientSocketId
ตัวเลข
ตัวระบุซ็อกเก็ตไคลเอ็นต์ เช่น ตัวระบุซ็อกเก็ตของการเชื่อมต่อที่สร้างขึ้นใหม่ ควรใช้ตัวระบุซ็อกเก็ตนี้กับฟังก์ชันจากเนมสเปซ
chrome.sockets.tcpเท่านั้น โปรดทราบว่าซ็อกเก็ตไคลเอ็นต์จะหยุดชั่วคราวในตอนแรก และแอปพลิเคชันต้องยกเลิกการหยุดชั่วคราวอย่างชัดแจ้งเพื่อเริ่มรับข้อมูล -
socketId
ตัวเลข
ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์
CreateInfo
พร็อพเพอร์ตี้
-
socketId
ตัวเลข
รหัสของซ็อกเก็ตเซิร์ฟเวอร์ที่สร้างขึ้นใหม่ โปรดทราบว่ารหัสซ็อกเก็ตที่สร้างจาก API นี้ใช้ร่วมกับรหัสซ็อกเก็ตที่สร้างจาก API อื่นๆ ไม่ได้ เช่น API
[socket](../socket/)ที่เลิกใช้งานแล้ว
SocketInfo
พร็อพเพอร์ตี้
-
localAddress
สตริง ไม่บังคับ
หากซ็อกเก็ตกำลังฟังอยู่ จะมีที่อยู่ IPv4/6 ในเครื่อง
-
localPort
number ไม่บังคับ
หากซ็อกเก็ตกำลังฟังอยู่ จะมีพอร์ตในเครื่อง
-
name
สตริง ไม่บังคับ
สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต
-
หยุดชั่วคราว
บูลีน
แฟล็กที่ระบุว่าคำขอการเชื่อมต่อในซ็อกเก็ตการฟังถูกส่งผ่านเหตุการณ์
onAcceptหรืออยู่ในคิวในรายการคิวการฟังที่ค้างอยู่ ดูsetPausedค่าเริ่มต้นคือ "false" -
ถาวร
บูลีน
แฟล็กที่ระบุว่าซ็อกเก็ตยังคงเปิดอยู่หรือไม่เมื่อยกเลิกการโหลดหน้าเหตุการณ์ของแอปพลิเคชัน (ดู
SocketProperties.persistent) ค่าเริ่มต้นคือ "false" -
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
SocketProperties
พร็อพเพอร์ตี้
-
name
สตริง ไม่บังคับ
สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต
-
ถาวร
บูลีน ไม่บังคับ
แฟล็กที่ระบุว่าซ็อกเก็ตยังคงเปิดอยู่หรือไม่เมื่อหน้าเหตุการณ์ของแอปพลิเคชันถูกยกเลิกการโหลด (ดูจัดการวงจรของแอป) ค่าเริ่มต้นคือ "false" เมื่อโหลดแอปพลิเคชันแล้ว คุณจะดึงข้อมูลซ็อกเก็ตที่เปิดไว้ก่อนหน้านี้ด้วย persistent=true ได้โดยใช้
getSockets
เมธอด
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
ยกเลิกการเชื่อมต่อและทำลายซ็อกเก็ต ควรปิดซ็อกเก็ตแต่ละรายการที่สร้างขึ้นหลังการใช้งาน รหัสซ็อกเก็ตจะใช้ไม่ได้อีกต่อไปทันทีที่มีการเรียกใช้ฟังก์ชัน อย่างไรก็ตาม ระบบจะรับประกันว่าซ็อกเก็ตจะปิดก็ต่อเมื่อมีการเรียกใช้ Callback เท่านั้น
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
create()
chrome.sockets.tcpServer.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.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
ยกเลิกการเชื่อมต่อซ็อกเก็ตที่รับฟัง กล่าวคือ หยุดรับการเชื่อมต่อใหม่และปล่อยที่อยู่/พอร์ตที่ซ็อกเก็ตเชื่อมโยงอยู่ ตัวระบุซ็อกเก็ตยังคงใช้ได้ เช่น สามารถใช้กับ listen เพื่อยอมรับการเชื่อมต่อในพอร์ตและที่อยู่ใหม่
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getInfo()
chrome.sockets.tcpServer.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.tcpServer.getSockets(
callback?: function,
): Promise<SocketInfo[]>
ดึงข้อมูลรายการซ็อกเก็ตที่เปิดอยู่ซึ่งเป็นของแอปพลิเคชัน
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(socketInfos: SocketInfo[]) => void
-
socketInfos
อาร์เรย์ของออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต
-
การคืนสินค้า
-
Promise<SocketInfo[]>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
listen()
chrome.sockets.tcpServer.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
ฟังการเชื่อมต่อในพอร์ตและที่อยู่ที่ระบุ หากมีการใช้พอร์ต/ที่อยู่ Callback จะระบุว่าไม่สำเร็จ
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
ที่อยู่
สตริง
ที่อยู่ของเครื่องในพื้นที่
-
พอร์ต
ตัวเลข
พอร์ตของเครื่องในพื้นที่ เมื่อตั้งค่าเป็น
0ระบบจะเลือกพอร์ตที่ว่างอยู่แบบไดนามิก คุณสามารถค้นหาพอร์ตที่จัดสรรแบบไดนามิกได้โดยเรียกใช้getInfo -
งานค้าง
number ไม่บังคับ
ความยาวของคิวการฟังของซ็อกเก็ต ค่าเริ่มต้นจะขึ้นอยู่กับระบบปฏิบัติการ (SOMAXCONN) ซึ่งจะช่วยให้มั่นใจได้ว่าความยาวคิวจะเหมาะสมสำหรับแอปพลิเคชันส่วนใหญ่
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(result: number) => void
-
ผลลัพธ์
ตัวเลข
รหัสผลลัพธ์ที่แสดงผลจากการเรียกใช้เครือข่ายที่เกี่ยวข้อง ค่าลบแสดงถึงข้อผิดพลาด
-
setPaused()
chrome.sockets.tcpServer.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
เปิดใช้หรือปิดใช้ซ็อกเก็ตการฟังจากการยอมรับการเชื่อมต่อใหม่ เมื่อหยุดชั่วคราว ซ็อกเก็ตที่รอรับการเชื่อมต่อจะยอมรับการเชื่อมต่อใหม่จนกว่าคิวงาน (ดูฟังก์ชัน listen) จะเต็ม จากนั้นจะปฏิเสธคำขอเชื่อมต่อเพิ่มเติม ระบบจะสร้างเหตุการณ์ onAccept เฉพาะเมื่อซ็อกเก็ตไม่ได้หยุดชั่วคราว
พารามิเตอร์
-
socketId
ตัวเลข
-
หยุดชั่วคราว
บูลีน
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
update()
chrome.sockets.tcpServer.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
อัปเดตพร็อพเพอร์ตี้ของซ็อกเก็ต
พารามิเตอร์
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
-
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ที่จะอัปเดต
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 121 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
กิจกรรม
onAccept
chrome.sockets.tcpServer.onAccept.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อมีการเชื่อมต่อกับซ็อกเก็ตเซิร์ฟเวอร์
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(info: AcceptInfo) => void
-
ข้อมูล
-
onAcceptError
chrome.sockets.tcpServer.onAcceptError.addListener(
callback: function,
)
เหตุการณ์ที่เกิดขึ้นเมื่อเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายขณะที่รันไทม์กำลังรอการเชื่อมต่อใหม่ในที่อยู่ซ็อกเก็ตและพอร์ต เมื่อเหตุการณ์นี้เกิดขึ้น ระบบจะตั้งค่าซ็อกเก็ตเป็น paused และจะไม่มีเหตุการณ์ onAccept เกิดขึ้นอีกสำหรับซ็อกเก็ตนี้จนกว่าจะกลับมาทำงานต่อ
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(info: AcceptErrorInfo) => void
-
ข้อมูล
-