ฉันเพิ่งพบบทความ MSDN ที่น่าสนใจซึ่งทำให้ฉันเชื่อว่าไม่รองรับการควบคุมการไหลของซอฟต์แวร์: http://msdn.microsoft.com/en-us/library/ff802693.aspx

เพื่ออ้างอิงย่อหน้าที่เกี่ยวข้อง:

fBinary: Specifies whether binary mode is enabled. The Windows API does not support nonbinary mode transfers, so this member should be TRUE. Trying to use FALSE will not work.

และ

Because software flow control uses two special characters, XOFF and XON, binary transfers cannot use software flow control; the XON or XOFF character may appear in the binary data and would interfere with data transfer.

นี่หมายความว่า Windows ไม่รองรับการควบคุมการไหลของซอฟต์แวร์อีกต่อไปใช่หรือไม่ เคยไหม?

ตอบ

ฉันเห็นความสับสนที่เป็นไปได้ แต่ไม่ นั่นไม่ใช่ความหมาย DCB.fBinary หมายความว่าตัวขับเองไม่ได้แก้ไขข้อมูลที่แอปพลิเคชันส่งเลย *การถ่ายโอนไบนารี" พูดถึงประเภทของข้อมูลที่แอปพลิเคชันส่งผ่านพอร์ต พูดเมื่อคุณถ่ายโอนไฟล์ หากคุณส่ง สมมติว่าไฟล์ EXE ข้อมูลไฟล์มีค่าไบต์ที่ตรงกับ XON หรือ XOFF อย่างหลีกเลี่ยงไม่ได้ วิธีนี้ใช้ไม่ได้ผลหากอุปกรณ์ใช้การจับมือ Xon/Xoff จะตีความไบต์นั้นผิดว่าเป็นอักขระจับมือกัน

Xon/Xoff handshaking ไม่มีปัญหา คุณแค่ต้องแน่ใจว่าข้อมูลที่คุณส่งไม่มี Ctrl+Q และ Ctrl+S ชอบข้อความ. ตรงข้ามกับการถ่ายโอนไบนารี