2014-02-19 49 views
0

下面給出的是服務器的代碼:的Python Twisted- run()方法

from twisted.internet import protocol 
from twisted.internet import reactor 

class Echo(protocol.Protocol): 

    def dataRecvd(self, data): 
     self.transport.write(data) 

class EchoFactory(protocol.Factory): 

    def buildProtocol(self, addr): 
     return Echo() 

reactor.listenTCP(8000,EchoFactory()) 
reactor.run() 

我得到以下錯誤:

listenTCP()- Undefined variable from import 

run- Undefined variable from import 

我使用的PyDev使用Eclipse在Windows 7我哪裏錯了?

+0

's/dataRecvd/dataReceived /'。只需從[扭曲主頁](https://twistedmatrix.com/trac/)複製粘貼服務器示例即可。它按原樣工作。 – jfs

回答

1

enter image description here嘗試rhis添加#@ UndefinedVariable像:

reactor.listenTCP(8000,EchoFactory()) #@UndefinedVariable 
reactor.run() #@UndefinedVariable 
+0

不,仍然沒有輸出。他們應該怎麼做?錯誤消失了,但執行沒有給出任何輸出 –

+0

@Prakhar Mohan Srivastava:你可以在python shell上嘗試相同的代碼 –

+0

@Prakhar Mohan Srivastava只是嘗試探究twisted.internet,你不會找到reactor對象當Eclipse/PyDev試圖編譯字節碼,但是看不到扭曲的反應堆對象,但它會在運行時顯示 –

1

listenTCP()- Undefined variable from import

這不是一個Python異常。我想這是來自像pylint這樣的工具的「錯誤」。這是虛假的。這不代表任何意思。

I tried it on the shell too, the program starts executing then nothing. There is no output.

你知道程序應該做什麼嗎?它不應該在shell中產生任何輸出。

+0

根據我指的這本書,它應該這樣做: '服務器說:你好' –

+0

這本書是錯誤的,或者你是錯誤的解釋它。這段代碼不會有這樣的機會。 –

+0

好的。 :/很奇怪,我指的是錯誤的書。然後我會參考文檔。 –