Python 未以扭曲方式发送文本

Python 未以扭曲方式发送文本,python,client-server,twisted,twisted.internet,Python,Client Server,Twisted,Twisted.internet,我正在关注有关客户机/服务器的官方消息。我正在使用从客户端向服务器发送文本。此代码适用于: def connectionMade(self): self.sendLine("Hello, world!") 我可以在服务器端看到它。但如果我加上这样的话: def connectionMade(self): while self.running: command = raw_input(">>") if command=="disconn

我正在关注有关客户机/服务器的官方消息。我正在使用从客户端向服务器发送文本。此代码适用于:

def connectionMade(self):
    self.sendLine("Hello, world!")
我可以在服务器端看到它。但如果我加上这样的话:

def connectionMade(self):
    while self.running:
        command = raw_input(">>")
        if command=="disconnect":
            self.running = False
        else:
            print "sending..."
            self.sendLine(command)
            print "sent."
    self.sendLine("Hello, world!")
我可以看到“发送…”和“发送”,但仅此而已。即使客户端似乎正在发送数据,服务器也不会收到任何内容。如果我输入'disconnect',所有内容都会立即发送,包括'Hello,world!'

因此我的问题是:实际发送发生在哪里?如何实现上述操作?

具有行尾分隔符变量。默认情况下,它是
'\r\n'
。因此,在将数据实际写入套接字之前,协议会等待直到看到分隔符

从输入中去除尾随的新行,这样协议就不会看到分隔符


因此,请尝试在命令后发送新行'\r\n',或将其附加到
命令
变量。

这似乎合理,但不幸的是不起作用。@Jean-PaulCalderone即使是重复的,也没有提供可用的解决方案。是的,有。检查已接受的答案。如果您不理解该答案,请对其进行评论,询问需要澄清的内容。