CronetEngine.Builder

public class CronetEngine.Builder


เครื่องมือสร้างสำหรับ CronetEngine ซึ่งอนุญาตให้กำหนดค่ารันไทม์ของ CronetEngine ตัวเลือกการกำหนดค่าจะตั้งค่าในเครื่องมือสร้าง จากนั้นจะเรียกใช้ build เพื่อสร้าง CronetEngine

สรุป

ประเภทที่ซ้อนกัน

คลาสที่มีเมธอดสำหรับโหลดไลบรารีแบบเนทีฟของ Cronet

ค่าคงที่

static final int

การตั้งค่าเพื่อปิดใช้แคช HTTP

static final int

การตั้งค่าเพื่อเปิดใช้แคชในดิสก์ รวมถึงข้อมูล HTTP

static final int

การตั้งค่าเพื่อเปิดใช้แคชในดิสก์ โดยไม่รวมข้อมูล HTTP

static final int

การตั้งค่าเพื่อเปิดใช้แคช HTTP ในหน่วยความจำ รวมถึงข้อมูล HTTP

ฟิลด์ที่ป้องกัน

JSONObject

การแสดงตัวเลือกทดลองเป็น JSON

เครื่องมือสร้างสาธารณะ

Builder(Context context)

สร้างออบเจ็กต์ Builder ที่ช่วยในการสร้าง CronetEngine

เมธอดสาธารณะ

CronetEngine.Builder
addPublicKeyPins(
    String hostName,
    Set<byte[]> pinsSha256,
    boolean includeSubdomains,
    Date expirationDate
)

ปักหมุดชุดคีย์สาธารณะสำหรับโฮสต์ที่กำหนด

CronetEngine.Builder
addQuicHint(String host, int port, int alternatePort)

เพิ่มคำแนะนำว่า host รองรับ QUIC

CronetEngine

สร้าง CronetEngine โดยใช้การกำหนดค่าของบิลเดอร์นี้

CronetEngine.Builder
enableBrotli(boolean value)

ตั้งค่าว่าจะเปิดใช้การบีบอัด Brotli หรือไม่

CronetEngine.Builder
enableHttp2(boolean value)

ตั้งค่าว่าจะเปิดใช้โปรโตคอล HTTP/2 หรือไม่

CronetEngine.Builder
enableHttpCache(int cacheMode, long maxSize)

เปิดหรือปิดใช้การแคชข้อมูล HTTP และข้อมูลอื่นๆ เช่น ข้อมูลเซิร์ฟเวอร์ QUIC

CronetEngine.Builder

เปิดใช้เครื่องมือประมาณคุณภาพเครือข่าย ซึ่งจะรวบรวมและรายงานการวัดเวลาในการรับส่ง (RTT) และปริมาณงานขาลงที่เลเยอร์ต่างๆ ของสแต็กเครือข่าย

CronetEngine.Builder

เปิดหรือปิดใช้การข้ามการปักหมุดคีย์สาธารณะสำหรับ Trust Anchor ในพื้นที่

CronetEngine.Builder
enableQuic(boolean value)

ตั้งค่าว่าจะเปิดใช้โปรโตคอล QUIC หรือไม่

String

สร้างสตริง User-Agent ซึ่งรวมถึงชื่อและเวอร์ชันของแอปพลิเคชัน, เวอร์ชันบิลด์ของระบบ, โมเดลและรหัส รวมถึงเวอร์ชัน Cronet

CronetEngine.Builder
CronetEngine.Builder

กำหนดค่าลักษณะการทำงานของการย้ายข้อมูลการเชื่อมต่อ

CronetEngine.Builder

กำหนดค่าลักษณะการทำงานของการค้นหาชื่อโฮสต์

CronetEngine.Builder
CronetEngine.Builder

ตั้งค่า LibraryLoader ที่จะใช้โหลดไลบรารีแบบเนทีฟ

CronetEngine.Builder

กำหนดค่าลักษณะการทำงานของการพร็อกซี

CronetEngine.Builder
CronetEngine.Builder

กำหนดค่าลักษณะการทำงานของ Cronet เมื่อใช้ QUIC

CronetEngine.Builder

กำหนดไดเรกทอรีสำหรับแคช HTTP และที่เก็บคุกกี้

CronetEngine.Builder
setThreadPriority(int priority)

เลิกใช้เมธอดนี้แล้ว

ใน Cronet เวอร์ชันใหม่ๆ เมธอดนี้จะไม่ดำเนินการใดๆ

CronetEngine.Builder
setUserAgent(String userAgent)

ลบล้างส่วนหัว User-Agent สำหรับคำขอทั้งหมด

ค่าคงที่

HTTP_CACHE_DISABLED

public static final int HTTP_CACHE_DISABLED = 0

การตั้งค่าเพื่อปิดใช้แคช HTTP ระบบอาจยังคงจัดเก็บข้อมูลบางอย่างไว้ในหน่วยความจำชั่วคราว ส่งต่อให้ enableHttpCache แล้ว

HTTP_CACHE_DISK

public static final int HTTP_CACHE_DISK = 3

การตั้งค่าเพื่อเปิดใช้แคชในดิสก์ รวมถึงข้อมูล HTTP ต้องเรียกใช้ setStoragePath ก่อนส่งค่าคงที่นี้ไปยัง enableHttpCache

HTTP_CACHE_DISK_NO_HTTP

public static final int HTTP_CACHE_DISK_NO_HTTP = 2

การตั้งค่าเพื่อเปิดใช้แคชในดิสก์ โดยไม่รวมข้อมูล HTTP ต้องเรียกใช้ setStoragePath ก่อนส่งค่าคงที่นี้ไปยัง enableHttpCache

HTTP_CACHE_IN_MEMORY

public static final int HTTP_CACHE_IN_MEMORY = 1

การตั้งค่าเพื่อเปิดใช้แคช HTTP ในหน่วยความจำ รวมถึงข้อมูล HTTP ส่งต่อให้ enableHttpCache แล้ว

ฟิลด์ที่ป้องกัน

mParsedExperimentalOptions

protected JSONObject mParsedExperimentalOptions

การแสดงตัวเลือกทดลองเป็น JSON

เครื่องมือสร้างสาธารณะ

Builder

public Builder(Context context)

สร้างออบเจ็กต์ Builder ที่ช่วยในการสร้าง CronetEngine การกำหนดค่าเริ่มต้นจะเปิดใช้ HTTP/2 และ QUIC แต่ปิดใช้แคช HTTP

พารามิเตอร์
Context context

Android Context ซึ่งใช้โดย Builder เพื่อดึงบริบทของแอปพลิเคชัน ระบบจะเก็บข้อมูลอ้างอิงเฉพาะบริบทของแอปพลิเคชันไว้เพื่อหลีกเลี่ยงการขยายอายุการใช้งานของ context โดยไม่จำเป็น

เมธอดสาธารณะ

addPublicKeyPins

public CronetEngine.Builder addPublicKeyPins(
    String hostName,
    Set<byte[]> pinsSha256,
    boolean includeSubdomains,
    Date expirationDate
)

ปักหมุดชุดคีย์สาธารณะสำหรับโฮสต์ที่กำหนด การปักหมุดชุดคีย์สาธารณะทำให้ pinsSha256 ต้องสื่อสารกับ hostName เพื่อตรวจสอบสิทธิ์ด้วยใบรับรองที่มีคีย์สาธารณะจากชุดที่ปักหมุดไว้ แอปสามารถตรึงคีย์สาธารณะของใบรับรองรูท ใบรับรองระดับกลาง หรือใบรับรองรายการสุดท้าย การตรวจสอบสิทธิ์จะล้มเหลวและจะไม่มีการสื่อสารที่ปลอดภัยหากไม่มีคีย์สาธารณะใดๆ ในห่วงโซ่ใบรับรองของโฮสต์ แม้ว่าโฮสต์จะพยายามตรวจสอบสิทธิ์ด้วยใบรับรองที่ได้รับอนุญาตจากที่เก็บใบรับรองที่เชื่อถือได้ของอุปกรณ์ก็ตาม

การเรียกใช้วิธีนี้หลายครั้งด้วยชื่อโฮสต์เดียวกันจะลบล้างการปักหมุดที่ตั้งไว้ก่อนหน้านี้สำหรับโฮสต์

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรึงคีย์สาธารณะได้ใน RFC 7469

พารามิเตอร์
String hostName

ชื่อของโฮสต์ที่ควรตรึงคีย์สาธารณะ ระบบจะถือว่าโฮสต์ที่มีเฉพาะตัวเลขและอักขระจุดไม่ถูกต้อง

Set<byte[]> pinsSha256

ชุดหมุด แต่ละพินคือแฮชการเข้ารหัส SHA-256 ของการแสดง ASN.1 ที่เข้ารหัส DER ของ Subject Public Key Info (SPKI) ของใบรับรอง X.509 ของโฮสต์ ใช้ Certificate.getPublicKey() และ Key.getEncoded() เพื่อรับการแสดง ASN.1 ที่เข้ารหัส DER ของ SPKI แม้ว่าวิธีการนี้จะไม่ได้กำหนดให้ต้องมี PIN สำรองที่ใช้ได้ในกรณีที่สูญเสียการควบคุมคีย์ส่วนตัวหลัก แต่เราขอแนะนำอย่างยิ่งให้ระบุ PIN สำรอง

boolean includeSubdomains

ระบุว่าควรใช้นโยบายการปักหมุดกับโดเมนย่อยของ hostName หรือไม่

Date expirationDate

ระบุวันที่หมดอายุของพิน

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

ส่ง
java.lang.NullPointerException

หากพารามิเตอร์อินพุตใดเป็น null

java.lang.IllegalArgumentException

หากชื่อโฮสต์ที่ระบุไม่ถูกต้องหรือ pinsSha256 มีอาร์เรย์ไบต์ที่ไม่ได้แสดงแฮช SHA-256 ที่ถูกต้อง

addQuicHint

public CronetEngine.Builder addQuicHint(String host, int port, int alternatePort)

เพิ่มคำแนะนำว่า host รองรับ QUIC โปรดทราบว่าต้องใช้ enableHttpCache (HTTP_CACHE_DISK) เพื่อใช้ประโยชน์จากการสร้างการเชื่อมต่อ 0-RTT ระหว่างเซสชัน

พารามิเตอร์
String host

ชื่อโฮสต์ของเซิร์ฟเวอร์ที่รองรับ QUIC

int port

โฮสต์ของเซิร์ฟเวอร์ที่รองรับ QUIC

int alternatePort

พอร์ตสำรองที่จะใช้สำหรับ QUIC

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

สร้าง

public CronetEngine build()

สร้าง CronetEngine โดยใช้การกำหนดค่าของบิลเดอร์นี้

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

สร้างเมื่อ CronetEngine

enableBrotli

public CronetEngine.Builder enableBrotli(boolean value)

ตั้งค่าว่าจะเปิดใช้การบีบอัด Brotli หรือไม่ หากเปิดใช้ ระบบจะโฆษณา Brotli ในส่วนหัวของคำขอ Accept-Encoding ค่าเริ่มต้นคือปิดใช้

พารามิเตอร์
boolean value

true เพื่อเปิดใช้ Brotli และ false เพื่อปิดใช้

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

enableHttp2

public CronetEngine.Builder enableHttp2(boolean value)

ตั้งค่าว่าจะเปิดใช้โปรโตคอล HTTP/2 หรือไม่ ค่าเริ่มต้นคือเปิดใช้

พารามิเตอร์
boolean value

true เพื่อเปิดใช้ HTTP/2, false เพื่อปิดใช้

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

enableHttpCache

public CronetEngine.Builder enableHttpCache(int cacheMode, long maxSize)

เปิดหรือปิดใช้การแคชข้อมูล HTTP และข้อมูลอื่นๆ เช่น ข้อมูลเซิร์ฟเวอร์ QUIC

พารามิเตอร์
int cacheMode

ควบคุมตำแหน่งและประเภทของข้อมูลที่แคชไว้ โดยต้องเป็นหนึ่งใน HTTP_CACHE_*

long maxSize

ขนาดสูงสุดในหน่วยไบต์ที่ใช้แคชข้อมูล (คำแนะนำและอาจเกินในบางครั้ง)

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

enableNetworkQualityEstimator

public CronetEngine.Builder enableNetworkQualityEstimator(boolean value)

เปิดใช้เครื่องมือประมาณคุณภาพเครือข่าย ซึ่งจะรวบรวมและรายงานการวัดเวลาในการรับส่ง (RTT) และปริมาณงานขาลงที่เลเยอร์ต่างๆ ของสแต็กเครือข่าย หลังจากเปิดใช้ Estimator แล้ว คุณจะเพิ่ม Listener ของ RTT และอัตราการส่งข้อมูลได้ด้วย addRttListener และ addThroughputListener และนำออกได้ด้วย removeRttListener และ removeThroughputListener เครื่องมือประมาณจะใช้หน่วยความจำและ CPU เมื่อเปิดใช้เท่านั้น

พารามิเตอร์
boolean value

true เพื่อเปิดใช้เครื่องมือประมาณคุณภาพเครือข่าย false เพื่อปิดใช้

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

enablePublicKeyPinningBypassForLocalTrustAnchors

public CronetEngine.Builder enablePublicKeyPinningBypassForLocalTrustAnchors(boolean value)

เปิดหรือปิดใช้การข้ามการปักหมุดคีย์สาธารณะสำหรับ Trust Anchor ในพื้นที่ เราไม่แนะนำให้ปิดใช้การข้ามสำหรับ Trust Anchor ในพื้นที่ เนื่องจากอาจทำให้แอปสื่อสารกับโฮสต์ที่ปักหมุดไม่ได้ เช่น ผู้ใช้อาจต้องการส่งการรับส่งข้อมูลทั้งหมดผ่านพร็อกซีที่เปิดใช้ SSL โดยเปลี่ยนการตั้งค่าพร็อกซีของอุปกรณ์และเพิ่มใบรับรองพร็อกซีลงในรายการ Trust Anchor ในเครื่อง การปิดใช้การข้ามมีแนวโน้มที่จะป้องกันไม่ให้แอปส่งการเข้าชมไปยังโฮสต์ที่ปักหมุดไว้ ดูข้อมูลเพิ่มเติมได้ที่ "Key Pinning โต้ตอบกับพร็อกซีและตัวกรองในเครื่องอย่างไร" ที่ https://www.chromium.org/Home/chromium-security/security-faq

พารามิเตอร์
boolean value

true เพื่อเปิดใช้การข้าม false เพื่อปิดใช้

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

enableQuic

public CronetEngine.Builder enableQuic(boolean value)

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

พารามิเตอร์
boolean value

true เพื่อเปิดใช้ QUIC, false เพื่อปิดใช้

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

getDefaultUserAgent

public String getDefaultUserAgent()

สร้างสตริง User-Agent ซึ่งรวมถึงชื่อและเวอร์ชันของแอปพลิเคชัน, เวอร์ชันบิลด์ของระบบ, โมเดลและรหัส รวมถึงเวอร์ชัน Cronet

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

สตริง User Agent

setConnectionMigrationOptions

@ConnectionMigrationOptions.Experimental
public CronetEngine.Builder setConnectionMigrationOptions(
    ConnectionMigrationOptions.Builder connectionMigrationOptionsBuilder
)
ดูเพิ่มเติม
setConnectionMigrationOptions

setConnectionMigrationOptions

@ConnectionMigrationOptions.Experimental
public CronetEngine.Builder setConnectionMigrationOptions(
    ConnectionMigrationOptions connectionMigrationOptions
)

กำหนดค่าลักษณะการทำงานของการย้ายข้อมูลการเชื่อมต่อ ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ ConnectionMigrationOptions และเมธอดแต่ละรายการของ ConnectionMigrationOptions.Builder

เกี่ยวข้องเฉพาะในกรณีที่เปิดใช้ enableQuic

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setDnsOptions

@DnsOptions.Experimental
public CronetEngine.Builder setDnsOptions(DnsOptions dnsOptions)

กำหนดค่าลักษณะการทำงานของการค้นหาชื่อโฮสต์ ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ DnsOptions และเมธอดแต่ละรายการของ DnsOptions.Builder

เกี่ยวข้องเฉพาะในกรณีที่เปิดใช้ enableQuic

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setDnsOptions

@DnsOptions.Experimental
public CronetEngine.Builder setDnsOptions(DnsOptions.Builder dnsOptions)
ดูเพิ่มเติม
setDnsOptions

setLibraryLoader

public CronetEngine.Builder setLibraryLoader(CronetEngine.Builder.LibraryLoader loader)

ตั้งค่า LibraryLoader ที่จะใช้โหลดไลบรารีแบบเนทีฟ หากไม่ได้ตั้งค่า ระบบจะโหลดไลบรารีโดยใช้ loadLibrary

พารามิเตอร์
CronetEngine.Builder.LibraryLoader loader

LibraryLoader ที่ใช้โหลดไลบรารีแบบเนทีฟ

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setProxyOptions

public CronetEngine.Builder setProxyOptions(@NonNull ProxyOptions proxyOptions)

กำหนดค่าลักษณะการทำงานของการพร็อกซี ซึ่งจะส่งผลต่อการสร้างการเชื่อมต่อ UrlRequest และ BidirectionalStream ในรูปแบบต่างๆ ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ Proxy

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

การกำหนดค่าพร็อกซีที่กำหนดผ่าน API นี้เรียกว่าการกำหนดค่าพร็อกซี "แอป" การกำหนดค่าพร็อกซีของแอปและระบบจะแยกกันและแตกต่างกัน ปัจจุบันการกำหนดค่าพร็อกซีของแอปและระบบจะแยกกัน โดยการระบุ ProxyOptions จะลบล้างการกำหนดค่าพร็อกซีของระบบหากมี ซึ่งอาจทำให้เกิดปัญหาการเชื่อมต่อในบางสถานการณ์ที่มีการกำหนดค่าพร็อกซีของระบบ ในสถานการณ์เช่นนี้ ผู้ใช้อาจไม่มีสิทธิ์เข้าถึงอินเทอร์เน็ต เว้นแต่จะมีการกำหนดค่า ProxyOptions ด้วย null สุดท้ายเป็นตัวสำรอง โปรดดูProxyOptionsเอกสารประกอบ

พารามิเตอร์
@NonNull ProxyOptions proxyOptions

ProxyOptions ที่จะใช้สำหรับ UrlRequest, BiridirectionalStream และการเชื่อมต่อที่สร้างโดย CronetEngine ที่สร้างโดยเครื่องมือสร้างนี้

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

ส่ง
java.lang.UnsupportedOperationException

หากการใช้งาน Cronet ที่ใช้อยู่เก่าเกินกว่าที่จะรองรับ ProxyOptions

setQuicOptions

@QuicOptions.Experimental
public CronetEngine.Builder setQuicOptions(QuicOptions.Builder quicOptionsBuilder)
ดูเพิ่มเติม
setQuicOptions

setQuicOptions

@QuicOptions.Experimental
public CronetEngine.Builder setQuicOptions(QuicOptions quicOptions)

กำหนดค่าลักษณะการทำงานของ Cronet เมื่อใช้ QUIC ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ QuicOptions และเมธอดแต่ละรายการของ QuicOptions.Builder

เกี่ยวข้องเฉพาะในกรณีที่เปิดใช้ enableQuic

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setStoragePath

public CronetEngine.Builder setStoragePath(String value)

กำหนดไดเรกทอรีสำหรับแคช HTTP และที่เก็บคุกกี้ ไดเรกทอรีต้องมีอยู่จริง

หมายเหตุ: อย่าใช้ไดเรกทอรีพื้นที่เก็บข้อมูลเดียวกันกับ CronetEngine มากกว่า 1 รายการในครั้งเดียว การเข้าถึงไดเรกทอรีที่เก็บข้อมูลไม่รองรับการเข้าถึงพร้อมกันโดย CronetEngine หลายรายการ

พารามิเตอร์
String value

เส้นทางไปยังไดเรกทอรีที่มีอยู่

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setThreadPriority

public CronetEngine.Builder setThreadPriority(int priority)

กำหนดลำดับความสำคัญของชุดข้อความภายในของ Cronet

พารามิเตอร์
int priority

ลำดับความสำคัญของเธรดภายในของ Cronet ระดับความสำคัญของ Linux ตั้งแต่ -20 สำหรับลำดับความสำคัญในการจัดกำหนดการสูงสุดไปจนถึง 19 สำหรับลำดับความสำคัญในการจัดกำหนดการต่ำสุด ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าได้ที่ค่า setThreadPriority และ THREAD_PRIORITY_*

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง

setUserAgent

public CronetEngine.Builder setUserAgent(String userAgent)

ลบล้างส่วนหัว User-Agent สำหรับคำขอทั้งหมด ส่วนหัว User-Agent ที่ตั้งค่าอย่างชัดแจ้ง (ตั้งค่าโดยใช้ addHeader) จะลบล้างค่าที่ตั้งค่าโดยใช้ฟังก์ชันนี้

พารามิเตอร์
String userAgent

สตริง User-Agent ที่จะใช้สำหรับคำขอทั้งหมด

การคืนสินค้า
CronetEngine.Builder

เครื่องมือสร้างเพื่ออำนวยความสะดวกในการเชื่อมโยง