扭曲的transport.write

Jar*_*att 5 python ssl tcp twisted

有没有办法强制self.transport.write(响应)立即写入其连接,以便下一次调用self.transport.write(响应)不会被缓冲到同一个调用.

我们有一个客户端,我们无法修改遗留软件,读取第一个请求,然后再次开始阅读,我所遇到的问题是将两个写入加在一起,这打破了客户端我试图考虑延期的任何想法但我不知道在这种情况下,我认为它会有所帮助

例:

self.transport.write("|123|") # amount of messages to follow 
a loop to generate next message
self.transport.write("|message 1 text here|")
Run Code Online (Sandbox Code Playgroud)

预期:

|123|
|message 1 text here|
Run Code Online (Sandbox Code Playgroud)

结果:

|123||message 1 text here|
Run Code Online (Sandbox Code Playgroud)

pyf*_*unc 0

您能告诉我您使用的是哪种交通工具吗?对于大多数实现,这是典型的方法:

 def write(self, data):
        if data:
            if self.writeInProgress:
                self.outQueue.append(data)
            else:
                ....
Run Code Online (Sandbox Code Playgroud)

根据详细信息,可以更改写入函数的行为以根据需要进行操作。