chrome.sockets.tcp

คำอธิบาย

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

ไฟล์ Manifest

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

"sockets"

ประเภท

CreateInfo

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

  • socketId

    ตัวเลข

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

DnsQueryType

Chrome 103 ขึ้นไป

ค่ากำหนดการแปลง DNS ค่าเริ่มต้นคือ any และใช้การกำหนดค่าระบบปฏิบัติการปัจจุบันซึ่งอาจแสดงผล IPv4 หรือ IPv6 ipv4 บังคับใช้ IPv4 และ ipv6 บังคับใช้ IPv6

ค่าแจกแจง

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

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

  • resultCode

    ตัวเลข

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

  • socketId

    ตัวเลข

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

ReceiveInfo

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

  • เพิ่มเติม

    ArrayBuffer

    ข้อมูลที่ได้รับมีขนาดสูงสุด bufferSize

  • socketId

    ตัวเลข

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

SecureOptions

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

SendInfo

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

  • bytesSent

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

    จำนวนไบต์ที่ส่ง (หาก result == 0)

  • resultCode

    ตัวเลข

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

SocketInfo

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

  • bufferSize

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

    ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล หากไม่ได้ระบุขนาดบัฟเฟอร์อย่างชัดเจน ระบบจะไม่ระบุค่า

  • เชื่อมต่อแล้ว

    บูลีน

    แฟล็กที่ระบุว่าซ็อกเก็ตเชื่อมต่อกับเพียร์ระยะไกลหรือไม่

  • localAddress

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

    หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีที่อยู่ IPv4/6 ของเครื่อง

  • localPort

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

    หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีพอร์ตภายใน

  • ชื่อ

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

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

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

    บูลีน

    Flag ที่ระบุว่าซ็อกเก็ตที่เชื่อมต่อบล็อกไม่ให้เพียร์ส่งข้อมูลเพิ่มเติมหรือไม่ (ดู setPaused)

  • peerAddress

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

    หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีที่อยู่ของเพียร์/ IPv4/6

  • peerPort

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

    หากซ็อกเก็ตพื้นฐานเชื่อมต่ออยู่ จะมีพอร์ตของเพียร์

  • ต่อเนื่อง

    บูลีน

    Flag indicating whether the socket is left open when the application is suspended (see SocketProperties.persistent).

  • socketId

    ตัวเลข

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

SocketProperties

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

  • bufferSize

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

    ขนาดของบัฟเฟอร์ที่ใช้รับข้อมูล ค่าเริ่มต้นคือ 4096

  • ชื่อ

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

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

  • ต่อเนื่อง

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

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

TLSVersionConstraints

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

  • สูงสุด

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

  • นาที

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

    เวอร์ชัน TLS ขั้นต่ำและสูงสุดที่ยอมรับได้ ค่าที่รองรับคือ tls1.2 หรือ tls1.3

    ระบบไม่รองรับค่า tls1 และ tls1.1 อีกต่อไป หากตั้งค่า min เป็นค่าใดค่าหนึ่งเหล่านี้ ระบบจะบีบค่าเป็น tls1.2 โดยไม่แจ้งให้ทราบ หากตั้งค่า max เป็นค่าใดค่าหนึ่งดังกล่าวหรือค่าอื่นๆ ที่ระบบไม่รู้จัก ระบบจะละเว้นค่าดังกล่าวโดยไม่มีการแจ้งเตือน

เมธอด

close()

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

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

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

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()

Promise
chrome.sockets.tcp.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.tcp.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

ยกเลิกการเชื่อมต่อซ็อกเก็ต

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

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

getInfo()

Promise
chrome.sockets.tcp.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.tcp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

พารามิเตอร์

  • callback

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

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

  • Promise<SocketInfo[]>

    Chrome 121 ขึ้นไป

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

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

  • ล่าช้า

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

    ตั้งค่าเวลาหน่วงเป็นวินาทีระหว่างแพ็กเก็ตข้อมูลสุดท้ายที่ได้รับกับโพรบ 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()

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

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

    บูลีน

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

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

update()

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

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

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

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

  • callback

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

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

    () => void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

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

กิจกรรม

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