UDP套接字慢

时间:2018-04-06 11:28:45

标签: python sockets udp

我们正在通过UDP多播收听股票快照数据。但是,套接字可以接收数据的速度似乎有限制。

while 1:
    start1 = time.clock()
    SocketData = Msocket.recv(4096)
    end1 = time.clock()
    counter += 1

我创建了一个每1秒运行一次的调度程序,并计算收到的data的数量,范围从100到300但不是更多。我有一个记录的饲料,我每秒可以投入数千次爆发,但它不会因为低于以下的速率而达到峰值

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))

0 个答案:

没有答案