chrome.sockets.tcp

คำอธิบาย

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

ไฟล์ Manifest

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

"sockets"

ประเภท

CreateInfo

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

  • socketId

    ตัวเลข

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

DnsQueryType

Chrome 103 ขึ้นไป

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

ค่าแจกแจง

"ทั้งหมด"

"ipv4"

"ipv6"

ReceiveErrorInfo

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

  • resultCode

    ตัวเลข

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

  • socketId

    ตัวเลข

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

ReceiveInfo

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

  • ข้อมูล

    อาร์เรย์บัฟเฟอร์

    ข้อมูลที่ได้รับ โดยมีขนาดสูงสุด 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" เมื่อโหลดแอปพลิเคชันแล้ว คุณจะดึง Socket ที่เคยเปิดด้วย Persist=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,
)

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

connect()

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

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • peerAddress

    สตริง

    ที่อยู่ของเครื่องระยะไกล รองรับชื่อ 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&lt;CreateInfo&gt;

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

disconnect()

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

ถอดเต้ารับ

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getInfo()

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

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • Callback

    ไม่บังคับ

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

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

  • Promise&lt;SocketInfo&gt;

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getSockets()

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

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

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

  • Promise&lt;SocketInfo[]&gt;

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

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

    ตัวเลข

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

  • ข้อมูล

    อาร์เรย์บัฟเฟอร์

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

  • Callback

    ฟังก์ชัน

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

    (sendInfo: SendInfo) => void

    • sendInfo

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

setKeepAlive()

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

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

พารามิเตอร์

  • socketId

    ตัวเลข

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

  • เปิดใช้

    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

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

  • คำมั่นสัญญา<โมฆะ>

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

update()

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

อัปเดตคุณสมบัติของซ็อกเก็ต

พารามิเตอร์

  • socketId

    ตัวเลข

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

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

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

  • Callback

    ไม่บังคับ

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

    () => void

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

  • คำมั่นสัญญา<โมฆะ>

    Chrome 121 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

กิจกรรม

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