Score:0

มาตรฐานโปรโตคอล http รองรับการหยั่งเสียงแบบยาวหรือไม่

ธง ua

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

โค้ดตัวอย่างใด ๆ โดยเฉพาะในจาวาจะเป็นประโยชน์

ng flag
ขึ้นอยู่กับดุลยพินิจของเซิร์ฟเวอร์เมื่อต้องการหยุดการเชื่อมต่อ หมดเวลาการสำรวจที่ยาวนานมากในแอปพลิเคชันหนึ่งอาจแตกต่างจากที่อื่น
BioLogic avatar
ua flag
@oligofren : แล้วไคลเอนต์จะรู้ได้อย่างไรว่าการเชื่อมต่อก่อนหน้านี้ถูกหยุดทำงานและจำเป็นต้องสร้างการเชื่อมต่อใหม่ตั้งแต่ต้น -- ขอบคุณ.
ng flag
เมื่อคุณสร้างการเชื่อมต่อ คุณมักจะได้รับตัวจัดการเหตุการณ์ที่เกี่ยวข้องกับการเชื่อมต่อด้วย โดยทั่วไปแล้ว อินเทอร์เฟซ เช่น `connection.on(eventName, eventHandler)` จะแจ้งให้ไคลเอ็นต์ทราบเมื่อซ็อกเก็ตปิด/รีเซ็ต ฯลฯ ดังนั้น หากเซิร์ฟเวอร์ตัดสินใจที่จะหยุดการเชื่อมต่อ (เพราะอาจเป็นกระบวนการซอมบี้) เพื่อล้างข้อมูล /รักษาทรัพยากร ลูกค้าจะรู้ทันที นี่ไม่ได้อยู่ที่ระดับแอปพลิเคชัน (HTTP) แต่ต่ำกว่า ดูซ็อกเก็ตเครือข่าย: https://en.wikipedia.org/wiki/Network_socket
ng flag
โปรดทราบว่าการเชื่อมต่อและคำขอเป็นสองสิ่งที่แตกต่างกัน การเชื่อมต่อหนึ่งครั้งสามารถจัดการคำขอหลายรายการในช่วงเวลาที่ยาวนาน การโพลแบบยาวไม่เกี่ยวกับการเชื่อมต่อ แต่เป็นการร้องขอ HTTP
Score:1
ธง us

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

ไคลเอ็นต์จะตัดสินใจว่ายินดีรอการตอบกลับของเซิร์ฟเวอร์นานแค่ไหนเมื่อสร้างคำขอ HTTP

ในทำนองเดียวกัน เซิร์ฟเวอร์ HTTP มีอิสระในการส่งการตอบกลับเมื่อใดก็ได้หลังจากส่งคำขอ HTTP แล้ว

ตัวอย่างเช่น:

ลูกค้าส่งคำขอ HTTP และรอการตอบกลับเป็นเวลา 5 นาที หากไม่ได้รับการตอบกลับภายในห้านาที คำขอจะหมดเวลา ในสถานการณ์การหยั่งเสียงแบบยาว ไคลเอนต์ส่งคำขอ HTTP อื่นเป็นต้น

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

ลูกค้าไม่สามารถควบคุมการทำงานของเซิร์ฟเวอร์ได้ ไม่มี "คำขอการสำรวจแบบยาว" เป็นแนวคิดที่เป็นรูปธรรมเกี่ยวกับไคลเอนต์

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

BioLogic avatar
ua flag
ขอบคุณ. มี API ใดบ้างที่ไคลเอ็นต์สามารถใช้เพื่อทราบพารามิเตอร์ของเซิร์ฟเวอร์ เช่น: หากเซิร์ฟเวอร์ใช้การโพลแบบยาว เซิร์ฟเวอร์จะระงับการเชื่อมต่อโดยเฉลี่ยเป็นเวลาเท่าใด เป็นต้น เพื่อให้ไคลเอนต์ปรับแต่งพารามิเตอร์เพื่อประสิทธิภาพที่ดีขึ้น
us flag
ฉันไม่รู้จัก API ดังกล่าว ในกรณีการใช้งานที่ฉันได้เห็น เป็นเพียงสัญญาโดยปริยายระหว่างไคลเอ็นต์และเซิร์ฟเวอร์
BioLogic avatar
ua flag
คุณช่วยดูคำถามอื่นของฉันในฟอรัมนี้ได้ไหม ฉันยังใหม่กับฟอรัมนี้ ขอบคุณมาก!
ng flag
@BioLogic อย่าลืมยอมรับคำตอบ หากคำตอบนั้นตอบคำถามของคุณ
Score:0
ธง ng

ไม่มีสิ่งที่เรียกว่า การสำรวจความคิดเห็นที่ยาวนาน ใน HTTP การหยั่งเสียงแบบยาวคือ ฉลาด (AB) ใช้ ของ HTTP ไม่ใช่คุณสมบัติของ HTTP

เนื่องจาก HTTP ไม่รู้อะไรเลยเกี่ยวกับการหยั่งเสียงแบบยาว จึงไม่มีวิธีมาตรฐานในการตรวจสอบการสนับสนุน

โพสต์คำตอบ

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