我正在用TCP/IP协议设置一个套接字,由于我的接收器正在处理int8u_t
,我想知道这种方法是否正确。在
在连接时,服务器必须向接收方发送一个值mode=int(42)
,这在def connectionMade(self)
中完成。但是我知道会有一些冲突,因为python中的正常int是32位的,而我的接收器只有8位,我可以用int8u来强制转换或创建它吗?在
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
class TestSocket(Protocol):
def connectionMade(self):
mode=int(42)
self.factory.clients.append(self)
self.transport.write(mode)
print "clients are ", self.factory.clients
def connectionLost(self, reason):
self.factory.clients.remove(self)
def dataReceived(self, data):
#print "data is ", data
#a = data.split(':')
print data
print "-------------------"
def message(self, message):
self.transport.write(message + '\n')
factory = Factory()
factory.protocol = TestSocket()
factory.clients = []
reactor.listenTCP(30002, factory)
print "TestSocket server started"
reactor.run()
使用结构
编辑:显然你想要
pack("I", 42)
您可以使用
numpy
:您可以找到有关类型和类型之间转换的更多信息 使用
numpy
here。在相关问题 更多 >
编程相关推荐