لینک کدهات ارور میده!
با twisted کار کن حرف نداره !
توی توییستد چیزی که میخوای میشه این:
سرور:
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
import os
class Echo(Protocol):
def connectionMade(self):
kernel = os.popen('uname -r').readline()
self.transport.write(kernel)
def dataReceived(self, data):
pass
def main():
f = Factory()
f.protocol = Echo
reactor.listenTCP(8000, f)
reactor.run()
if __name__ == '__main__':
main()
کلاینت:
from twisted.internet.protocol import ClientFactory
from twisted.internet import reactor, protocol
import sys
class EchoClient(protocol.Protocol):
def connectionMade(self):
pass
def dataReceived(self, data):
print "receive:", data
class EchoClientFactory(ClientFactory):
protocol = EchoClient
def clientConnectionFailed(self, connector, reason):
print 'connection failed:', reason.getErrorMessage()
reactor.stop()
def clientConnectionLost(self, connector, reason):
print 'connection lost:', reason.getErrorMessage()
reactor.stop()
def main():
factory = EchoClientFactory()
reactor.connectTCP('localhost', 8000, factory)
reactor.run()
if __name__ == '__main__':
main()
البته دستوری هم که واسه گرفتن کرنل استفاده کردی جواب نمیده چون خروجی رو بر نمیگردونه باید از دستوری که من نوشتم استفاده کنی.
من یه مقاله ترجمه کردم واسه آشنایی با twisted برای شروع میتونی اون رو بخونی.
http://pyhome.ir/weblog/2/