คำอธิบาย
ใช้ chrome.sockets.tcp
API เพื่อส่งและรับข้อมูลผ่านเครือข่ายโดยใช้การเชื่อมต่อ TCP โดย API นี้มีผลแทนฟังก์ชัน TCP ที่พบใน API ของ chrome.socket
ก่อนหน้านี้
ไฟล์ Manifest
ประเภท
CreateInfo
พร็อพเพอร์ตี้
-
socketId
ตัวเลข
รหัสของซ็อกเก็ตที่สร้างใหม่ โปรดทราบว่ารหัสซ็อกเก็ตที่สร้างจาก API นี้ใช้ไม่ได้กับรหัสซ็อกเก็ตที่สร้างจาก API อื่นๆ เช่น API ของ
[
socket](../socket/)
ที่เลิกใช้งานแล้ว
DnsQueryType
ค่ากำหนดการแปลง DNS ค่าเริ่มต้นคือ any
และใช้การกำหนดค่าระบบปฏิบัติการปัจจุบัน ซึ่งอาจแสดงผล IPv4 หรือ IPv6 ipv4
บังคับใช้ IPv4 และ ipv6
บังคับใช้ IPv6
ค่าแจกแจง
"IPV4"
"IPV6"
ReceiveErrorInfo
พร็อพเพอร์ตี้
-
resultCode
ตัวเลข
รหัสผลลัพธ์ที่ได้จากการเรียกเครือข่ายที่เกี่ยวข้อง
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
ReceiveInfo
พร็อพเพอร์ตี้
-
ข้อมูล
ArrayBuffer
ข้อมูลที่ได้รับมีขนาดสูงสุดไม่เกิน
bufferSize
-
socketId
ตัวเลข
ตัวระบุซ็อกเก็ต
SecureOptions
พร็อพเพอร์ตี้
-
tlsVersion
TLSVersionConstraints ไม่บังคับ
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
-
ข้อมูล
-