问题描述
我使用扭曲的python3编写了客户端部分。我需要一个非阻塞套接字编程,并且我使用线程实现了后台运行。但是我可以控制数据发送到服务器..
这是我的代码
import twisted.internet import reactor,protocol
import concurrent.futures
class TCPClient(protocol.Protocol):
def connectionMade(self):
print('Connecteed.. [%s:%d]' % (self.transport.getPeer().host,self.transport.getPeer().port))
def dataReceived(self,data):
# All of Recieved data is Hex format
print('Recv Data = %s' % hexdump(data))
def send_msg(self,send_msg):
self.transport.write(send_msg)
print('Req Data = %s' % hexdump(send_msg))
def connectionLost(self,reason):
print('Connection lost')
class TCPFactory(protocol.ClientFactory):
protocol = TCPClient
def clientConnectionFailed(self,connector,reason):
print('Connection Failed - goodbye!')
reactor.stop()
def clientConnectionLost(self,reasion):
print('Connection lost - goodbye!')
reactor.stop()
if __name__ == '__main__':
f = TCPFactory()
reactor.connectTCP("Server Host","Server Port",f)
executor = concurrent.futures.ThreadPoolExecutor()
executor.submit(reactor.run)
# it works fine this line..
"""
Something to do
..
...
"""
packet = bytedump(msg)
TCPClient.send_msg(Some Object,packet)
我需要什么..
- socket 在后台运行循环
- 我必须在需要时将数据发送到服务器
- 我必须用异步控制数据(从服务器接收)
我的方法错了吗? 我在扭曲的文件中找不到它。 请回答我的问题。 谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)