Có cách nào để buộc self.transport.write (phản hồi) viết ngay lập tức cho kết nối của nó sao cho lệnh gọi tiếp theo tới self.transport.write (response) không được đệm vào cùng một cuộc gọi.Vận chuyển xoắn.write
Chúng tôi có một khách hàng với phần mềm kế thừa mà chúng tôi không thể sửa đổi, đọc cho yêu cầu thứ nhất và sau đó bắt đầu đọc lại, và vấn đề tôi có được xoắn tham gia vào hai viết với nhau mà phá vỡ khách hàng bất kỳ ý tưởng tôi đã cố gắng nhìn vào deferreds nhưng tôi không nghĩ rằng nó sẽ giúp đỡ trong trường hợp này
Ví dụ:
self.transport.write("|123|") # amount of messages to follow
a loop to generate next message
self.transport.write("|message 1 text here|")
dự kiến:
|123|
|message 1 text here|
Kết quả:
|123||message 1 text here|
Xin chào, tôi biết đây là một bài đăng cũ nhưng bạn có thể cho tôi biết bạn đã làm gì để giải quyết vấn đề này? –
Đối với những gì nó có giá trị, nó không thể làm cho công việc này hoàn toàn đáng tin cậy. Một ngày bạn có thể mua một số phần mềm chuyển mạch hoặc định tuyến khác và ứng dụng của bạn sẽ bị hỏng. Câu hỏi thường gặp về xoắn này cố gắng giải thích: http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#Whyisprotocol.dataReceivedcalledwithonlypartofthedataIcalledtransport.writewith – Glyph