کلیت کار میشه همین کدی که نوشتم دیگه خودت باقیش رو شخصی سازی کن . کامنت هم توش نوشتم که بدونی کجا باید چیرو بزاری
سرور:
from twisted.internet import protocol, reactor
class ServerProtocol(protocol.Protocol):
def connectionMade(self):
self.transport.write('your command')
def dataReceived(self, data):
#check data for response of client and then transport next command
self.transport.write('next command')
class ServerFactory(protocol.Factory):
def buildProtocol(self,addr):
#you can check the connection IP here in addr
return ServerProtocol()
reactor.listenTCP(8000,ServerFactory())
reactor.run()
کلاینت:
from twisted.internet import protocol, reactor
import os
class ClientProtocol(protocol.Protocol):
def dataReceived(self,data):
#here you must run command in data by os.system
os.system(data)
self.transport.write('status')
class ClientFactory(protocol.ClientFactory):
def buildProtocol(self,addr):
return ClientProtocol()
def clientConnectionFailed(self, connector, reason):
print 'Connection Failed'
reactor.stop()
def clientConnectionLost(self,connector,reason):
print 'Connection lost'
reactor.stop()
reactor.connectTCP('localhost', 8000, ClientFactory())
reactor.run()
موفق باشی