1
การเขียนโปรแกรมเครือข่าย Async โดยใช้ Reactive Extensions
คำถามนี้ถูกโยกย้ายจาก Code Exchange Stack Stack เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 5 ปีที่ผ่านมา หลังจากทำการsocketเขียนโปรแกรมasync "ระดับต่ำ" บางอย่าง (มากหรือน้อย) เมื่อหลายปีก่อน (ในรูปแบบเหตุการณ์แบบ Asynchronous Pattern (EAP) ) และเมื่อเร็ว ๆ นี้ได้ย้าย "up" เป็นรูปTcpListenerแบบการเขียนโปรแกรม Asynchronous (APM)แล้ว พยายามที่จะย้ายไปที่async/await(รูปแบบอะซิงโครนัสตามรูปแบบ(TAP) ) ฉันค่อนข้างจะมีมันด้วยต้องรำคาญกับ 'ประปาในระดับต่ำ' ทั้งหมดนี้ ดังนั้นฉันจึงหา; ทำไมไม่ยอมแพ้RX( ส่วนขยายรีแอคทีฟ ) เพราะมันอาจเข้ากับโดเมนปัญหาของฉันได้ รหัสจำนวนมากที่ฉันเขียนมีให้กับไคลเอนต์จำนวนมากที่เชื่อมต่อผ่าน Tcp ไปยังแอปพลิเคชันของฉันซึ่งจะเริ่มการสื่อสารแบบสองทาง (async) ลูกค้าหรือเซิร์ฟเวอร์อาจตัดสินใจว่าจะต้องส่งข้อความและทำเช่นนั้นดังนั้นนี่ไม่ใช่request/responseการตั้งค่าแบบดั้งเดิมของคุณแต่เป็นแบบเรียลไทม์แบบสองทาง "สาย" เปิดให้ทั้งสองฝ่ายส่งสิ่งที่พวกเขาต้องการ เมื่อใดก็ตามที่พวกเขาต้องการ (หากใครมีชื่อที่เหมาะสมในการอธิบายสิ่งนี้ฉันยินดีที่จะได้ยิน!) "โปรโตคอล" …