我们正在通过UDP多播收听股票快照数据。然而,套接字接收数据的速度似乎有限制
while 1:
start1 = time.clock()
SocketData = Msocket.recv(4096)
end1 = time.clock()
counter += 1
我创建了一个调度程序,它每1秒运行一次,并统计接收到的data
的数量,范围为100-300,但不超过100。我有一个记录的feed,我可以每秒抛出数千次脉冲,但它不会相应地以低于峰值的速率响应
175
172
190
这个套接字有吞吐量限制吗?也没有显示数据包丢弃。我应该使用不同的配置吗
下面是正在使用的配置
def prepare(self):
self.BroadCastSocket = socket.socket(socket.AF_INET,
socket.SOCK_DGRAM,
socket.IPPROTO_UDP)
self.BroadCastGroup = socket.inet_aton(self.MCAST_ADDR)
self.InterfaceIp = socket.inet_aton(self.MCAST_IP)
self.MultiCastRequest = struct.pack('=4s4s',
self.BroadCastGroup,
self.InterfaceIp)
self.BroadCastSocket.setsockopt(socket.IPPROTO_IP,
socket.IP_ADD_MEMBERSHIP,
self.MultiCastRequest)
self.BroadCastSocket.setsockopt(socket.SOL_SOCKET,
socket.SO_REUSEADDR,
1)
def bind(self):
self.BroadCastSocket.bind(('0.0.0.0', self.MCAST_PORT))
目前没有回答
相关问题 更多 >
编程相关推荐