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