کلیت کار میشه همین کدی که نوشتم دیگه خودت باقیش رو شخصی سازی کن . کامنت هم توش نوشتم که بدونی کجا باید چیرو بزاری
سرور:
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()


موفق باشی