chrome.sockets.tcp

คำอธิบาย

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

ไฟล์ Manifest

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

"sockets"

ประเภท

CreateInfo

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

  • socketId

    ตัวเลข

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

DnsQueryType

Chrome 103 ขึ้นไป

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

ค่าแจกแจง

"IPV4"

"IPV6"

ReceiveErrorInfo

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

  • resultCode

    ตัวเลข

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

  • socketId

    ตัวเลข

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

ReceiveInfo

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

  • ข้อมูล

    ArrayBuffer

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

  • socketId

    ตัวเลข

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

SecureOptions

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

SendInfo

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

  • bytesSent

    ตัวเลข ไม่บังคับ

    จำนวนไบต์ที่ส่ง (หากผลลัพธ์ == 0)

  • resultCode

    ตัวเลข

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

SocketInfo

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

  • bufferSize

    ตัวเลข ไม่บังคับ

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

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

    boolean

    การแจ้งที่ระบุว่าเต้ารับเชื่อมต่อกับอุปกรณ์ระยะไกลหรือไม่

  • localAddress

    string ไม่บังคับ

    จะมีที่อยู่ IPv4/6 ภายในหากซ็อกเก็ตที่เชื่อมต่ออยู่

  • localPort

    ตัวเลข ไม่บังคับ

    หากซ็อกเก็ตที่เชื่อมต่ออยู่ จะมีพอร์ตในเครื่อง

  • ชื่อ

    string ไม่บังคับ

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

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

    boolean

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

  • peerAddress

    string ไม่บังคับ

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

  • peerPort

    ตัวเลข ไม่บังคับ

    หากเต้ารับที่รองรับเชื่อมต่ออยู่ จะมีพอร์ตเพียร์อยู่

  • ต่อเนื่อง

    boolean

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

  • socketId

    ตัวเลข

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

SocketProperties

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

  • bufferSize

    ตัวเลข ไม่บังคับ

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

  • ชื่อ

    string ไม่บังคับ

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

  • ต่อเนื่อง

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

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

TLSVersionConstraints

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

  • สูงสุด

    string ไม่บังคับ

  • นาที

    string ไม่บังคับ

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

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

วิธีการ

close()

สัญญา
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

เชื่อมต่อเต้ารับเข้ากับเครื่องระยะไกล เมื่อการดำเนินการ connect เสร็จสมบูรณ์ ระบบจะเพิ่มเหตุการณ์ onReceive รายการเมื่อได้รับข้อมูลจากเพียร์ หากข้อผิดพลาดของเครือข่ายเกิดขึ้นขณะที่รันไทม์ได้รับแพ็กเก็ต เหตุการณ์ onReceiveError จะเกิดขึ้น ซึ่งในจุดนี้จะไม่มีการสร้างเหตุการณ์ onReceive สำหรับซ็อกเก็ตนี้อีกจนกว่าจะมีการเรียกใช้เมธอด resume

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • peerAddress

    string

    ที่อยู่ของเครื่องระยะไกล รองรับชื่อ DNS, รูปแบบ IPv4 และ IPv6

  • peerPort

    ตัวเลข

    พอร์ตของเครื่องระยะไกล

  • dnsQueryType

    DnsQueryType ไม่บังคับ

    Chrome 103 ขึ้นไป

    ค่ากำหนดการแก้ปัญหาของที่อยู่

  • Callback

    ฟังก์ชัน

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

    (result: number)=>void

    • ผลลัพธ์

      ตัวเลข

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

create()

สัญญา
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

สร้างซ็อกเก็ต TCP

พารามิเตอร์

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

    SocketProperties ไม่บังคับ

    คุณสมบัติของซ็อกเก็ต (ไม่บังคับ)

  • Callback

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

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

    (createInfo: CreateInfo)=>void

    • createInfo

      ผลของการสร้างซ็อกเก็ต

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

  • Promise<CreateInfo>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

disconnect()

สัญญา
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

ถอดเต้ารับออก

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getInfo()

สัญญา
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • Callback

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

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

    (socketInfo: SocketInfo)=>void

    • socketInfo

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

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

  • Promise<SocketInfo>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getSockets()

สัญญา
chrome.sockets.tcp.getSockets(
  callback?: function,
)

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

พารามิเตอร์

  • Callback

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

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

    (socketInfos: SocketInfo[])=>void

    • socketInfos

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

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

  • Promise<SocketInfo[]>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

เริ่มการเชื่อมต่อไคลเอ็นต์ TLS ผ่านซ็อกเก็ตไคลเอ็นต์ TCP ที่เชื่อมต่อ

พารามิเตอร์

  • socketId

    ตัวเลข

    ซ็อกเก็ตที่มีอยู่ซึ่งเชื่อมต่ออยู่เพื่อใช้งาน

  • ตัวเลือก

    SecureOptions ไม่บังคับ

    ข้อจำกัดและพารามิเตอร์ของการเชื่อมต่อ TLS

  • Callback

    ฟังก์ชัน

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

    (result: number)=>void

    • ผลลัพธ์

      ตัวเลข

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • ข้อมูล

    ArrayBuffer

    ข้อมูลที่จะส่ง

  • Callback

    ฟังก์ชัน

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

    (sendInfo: SendInfo)=>void

    • sendInfo

      ผลลัพธ์ของเมธอด send

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

เปิดหรือปิดใช้ฟังก์ชัน Keep-alive สำหรับการเชื่อมต่อ TCP

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • enable

    boolean

    หาก "จริง" ให้เปิดใช้ฟังก์ชัน Keep-alive

  • ล่าช้า

    ตัวเลข ไม่บังคับ

    กำหนดวินาทีของความล่าช้าระหว่างแพ็กเก็ตข้อมูลล่าสุดที่ได้รับและการตรวจสอบ Keepalive ครั้งแรก ค่าเริ่มต้นคือ 0

  • Callback

    ฟังก์ชัน

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

    (result: number)=>void

    • ผลลัพธ์

      ตัวเลข

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

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

ตั้งค่าหรือล้าง TCP_NODELAY สำหรับการเชื่อมต่อ TCP ระบบจะปิดใช้อัลกอริทึมของ Nagle เมื่อตั้งค่า TCP_NODELAY

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • noDelay

    boolean

    หากเป็น "จริง" ให้ปิดใช้อัลกอริทึมของ Nagle

  • Callback

    ฟังก์ชัน

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

    (result: number)=>void

    • ผลลัพธ์

      ตัวเลข

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

setPaused()

สัญญา
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

    boolean

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

update()

สัญญา
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

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

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

  • Callback

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

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

    ()=>void

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

  • Promise<void>

    Chrome 121 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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