chrome.sockets.tcpServer

คำอธิบาย

ใช้ chrome.sockets.tcpServer API เพื่อสร้างแอปพลิเคชันเซิร์ฟเวอร์โดยใช้การเชื่อมต่อ TCP API นี้จะแทนที่ฟังก์ชัน TCP ที่พบใน chrome.socket API ก่อนหน้านี้

ไฟล์ Manifest

ต้องประกาศคีย์ต่อไปนี้ในไฟล์ Manifest เพื่อใช้ API นี้

"sockets"

ประเภท

AcceptErrorInfo

พร็อพเพอร์ตี้

  • resultCode

    ตัวเลข

    รหัสผลลัพธ์ที่แสดงผลจากการเรียกเครือข่ายพื้นฐาน

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์

AcceptInfo

พร็อพเพอร์ตี้

  • clientSocketId

    ตัวเลข

    ตัวระบุซ็อกเก็ตไคลเอ็นต์ เช่น ตัวระบุซ็อกเก็ตของการเชื่อมต่อที่สร้างขึ้นใหม่ ควรใช้ตัวระบุซ็อกเก็ตนี้กับฟังก์ชันจากเนมสเปซ chrome.sockets.tcp เท่านั้น โปรดทราบว่าซ็อกเก็ตไคลเอ็นต์จะหยุดชั่วคราวในตอนแรก และแอปพลิเคชันต้องยกเลิกการหยุดชั่วคราวอย่างชัดเจนเพื่อเริ่มรับข้อมูล

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ตเซิร์ฟเวอร์

CreateInfo

พร็อพเพอร์ตี้

  • socketId

    ตัวเลข

    รหัสของซ็อกเก็ตเซิร์ฟเวอร์ที่สร้างขึ้นใหม่ โปรดทราบว่ารหัสซ็อกเก็ตที่สร้างจาก API นี้ใช้ร่วมกับรหัสซ็อกเก็ตที่สร้างจาก API อื่นๆ ไม่ได้ เช่น API [socket](../socket/) ที่เลิกใช้งานแล้ว

SocketInfo

พร็อพเพอร์ตี้

  • localAddress

    สตริง ไม่บังคับ

    หากซ็อกเก็ตกำลังฟังอยู่ จะมีที่อยู่ IPv4/6 ของเครื่อง

  • localPort

    หมายเลข ไม่บังคับ

    หากซ็อกเก็ตกำลังฟังอยู่ จะมีพอร์ตในเครื่อง

  • ชื่อ

    สตริง ไม่บังคับ

    สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต

  • หยุดชั่วคราว

    บูลีน

    Flag indicating whether connection requests on a listening socket are dispatched through the onAccept event or queued up in the listen queue backlog. ดู setPaused ค่าเริ่มต้นคือ "false"

  • ต่อเนื่อง

    บูลีน

    Flag ที่ระบุว่าซ็อกเก็ตจะยังเปิดอยู่หรือไม่เมื่อหน้าเหตุการณ์ของแอปพลิเคชันถูกยกเลิกการโหลด (ดู SocketProperties.persistent) ค่าเริ่มต้นคือ "false"

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ต

SocketProperties

พร็อพเพอร์ตี้

  • ชื่อ

    สตริง ไม่บังคับ

    สตริงที่แอปพลิเคชันกำหนดซึ่งเชื่อมโยงกับซ็อกเก็ต

  • ต่อเนื่อง

    บูลีน ไม่บังคับ

    Flag ที่ระบุว่าซ็อกเก็ตจะยังเปิดอยู่หรือไม่เมื่อเลิกโหลดหน้ากิจกรรมของแอปพลิเคชัน (ดูจัดการวงจรแอป) ค่าเริ่มต้นคือ "false" เมื่อโหลดแอปพลิเคชันแล้ว คุณจะดึงข้อมูลซ็อกเก็ตที่เปิดไว้ก่อนหน้านี้ด้วย persistent=true ได้โดยใช้ getSockets

เมธอด

close()

Promise
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

ยกเลิกการเชื่อมต่อและทำลายซ็อกเก็ต ควรปิดซ็อกเก็ตแต่ละรายการที่สร้างขึ้นหลังการใช้งาน รหัสซ็อกเก็ตจะใช้ไม่ได้อีกต่อไปทันทีที่มีการเรียกใช้ฟังก์ชัน อย่างไรก็ตาม เรารับประกันว่าจะปิดซ็อกเก็ตเมื่อเรียกใช้การเรียกกลับเท่านั้น

พารามิเตอร์

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ต

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

create()

Promise
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

สร้างซ็อกเก็ตเซิร์ฟเวอร์ TCP

พารามิเตอร์

  • พร็อพเพอร์ตี้

    SocketProperties ไม่บังคับ

    พร็อพเพอร์ตี้ของซ็อกเก็ต (ไม่บังคับ)

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (createInfo: CreateInfo) => void

    • createInfo

      ผลลัพธ์ของการสร้างซ็อกเก็ต

การคืนสินค้า

  • Promise<CreateInfo>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

disconnect()

Promise
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

ยกเลิกการเชื่อมต่อซ็อกเก็ตที่กำลังฟังอยู่ ซึ่งหมายถึงการหยุดรับการเชื่อมต่อใหม่และปล่อยที่อยู่/พอร์ตที่ซ็อกเก็ตเชื่อมโยงอยู่ ตัวระบุซ็อกเก็ตยังคงใช้งานได้ เช่น สามารถใช้กับ listen เพื่อยอมรับการเชื่อมต่อในพอร์ตและที่อยู่ใหม่

พารามิเตอร์

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ต

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getInfo()

Promise
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

ดึงข้อมูลสถานะของซ็อกเก็ตที่ระบุ

พารามิเตอร์

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ต

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (socketInfo: SocketInfo) => void

    • socketInfo

      ออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต

การคืนสินค้า

  • Promise<SocketInfo>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getSockets()

Promise
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

ดึงข้อมูลรายการซ็อกเก็ตที่แอปพลิเคชันเป็นเจ้าของและเปิดอยู่ในปัจจุบัน

พารามิเตอร์

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      อาร์เรย์ของออบเจ็กต์ที่มีข้อมูลซ็อกเก็ต

การคืนสินค้า

  • Promise<SocketInfo[]>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

listen()

chrome.sockets.tcpServer.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

รอการเชื่อมต่อในพอร์ตและที่อยู่ที่ระบุ หากมีการใช้งานพอร์ต/ที่อยู่ Callback จะระบุว่าไม่สำเร็จ

พารามิเตอร์

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ต

  • ที่อยู่

    สตริง

    ที่อยู่ของเครื่องในพื้นที่

  • พอร์ต

    ตัวเลข

    พอร์ตของเครื่องภายใน เมื่อตั้งค่าเป็น 0 ระบบจะเลือกพอร์ตที่ว่างแบบไดนามิก คุณดูพอร์ตที่จัดสรรแบบไดนามิกได้โดยการเรียกใช้ getInfo

  • backlog

    หมายเลข ไม่บังคับ

    ความยาวของคิวการฟังของซ็อกเก็ต ค่าเริ่มต้นจะขึ้นอยู่กับระบบปฏิบัติการ (SOMAXCONN) ซึ่งช่วยให้มั่นใจได้ว่าความยาวของคิวจะสมเหตุสมผลสำหรับแอปพลิเคชันส่วนใหญ่

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (result: number) => void

    • ผลลัพธ์

      ตัวเลข

      รหัสผลลัพธ์ที่แสดงผลจากการเรียกเครือข่ายพื้นฐาน ค่าลบแสดงถึงข้อผิดพลาด

setPaused()

Promise
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

เปิดใช้หรือปิดใช้ซ็อกเก็ตการฟังจากการยอมรับการเชื่อมต่อใหม่ เมื่อหยุดชั่วคราว ซ็อกเก็ตที่รอฟังจะยอมรับการเชื่อมต่อใหม่จนกว่าแบ็คล็อก (ดูฟังก์ชัน listen) จะเต็ม แล้วจึงปฏิเสธคำขอเชื่อมต่อเพิ่มเติม onAccept จะเกิดขึ้นเมื่อเลิกหยุดซ็อกเก็ตชั่วคราวเท่านั้น

พารามิเตอร์

  • socketId

    ตัวเลข

  • หยุดชั่วคราว

    บูลีน

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

update()

Promise
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

อัปเดตพร็อพเพอร์ตี้ของซ็อกเก็ต

พารามิเตอร์

  • socketId

    ตัวเลข

    ตัวระบุซ็อกเก็ต

  • พร็อพเพอร์ตี้

    พร็อพเพอร์ตี้ที่จะอัปเดต

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 121 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ 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