chrome.sockets.tcpServer

คำอธิบาย

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

ไฟล์ Manifest

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

"sockets"

ประเภท

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