Python sockets UDP broadcast multicast question??

2008-08-28 Thread inorlando
Hi all,

I have a question about python and sockets , UDP datagram in
particular. I'm new to socket programming so please bare with me.

I am trying to write a simple application that broadcast files to
another computer on the same network/subnet but I do not want the
receiver computer to have to respond, I only want it to receive the
packet.

So this was simple enough, but my problem is this when I send a file
that is say larger then 100K the receiver is not able to keep up with
the packets as they arrive. I get say 60 or so then the rest are
ignored.

I have tried a couple of different approaches like threading and
queuing,  but all ultimately have the same problem.

So my question is how can I receive a continuous stream of UDP packets
to some kind of buffer for processing with out losing packets?

Thank you for any help or guidance that you provide.

- InOrlando
--
http://mail.python.org/mailman/listinfo/python-list


Re: Python sockets UDP broadcast multicast question??

2008-08-28 Thread inorlando
On Aug 28, 8:06 am, Francesco Bochicchio [EMAIL PROTECTED] wrote:
 On 28 Ago, 08:09, inorlando [EMAIL PROTECTED] wrote:



  Hi all,

  I have a question about python and sockets , UDP datagram in
  particular. I'm new to socket programming so please bare with me.

  I am trying to write a simple application that broadcast files to
  another computer on the same network/subnet but I do not want the
  receiver computer to have to respond, I only want it to receive the
  packet.

  So this was simple enough, but my problem is this when I send a file
  that is say larger then 100K the receiver is not able to keep up with
  the packets as they arrive. I get say 60 or so then the rest are
  ignored.

  I have tried a couple of different approaches like threading and
  queuing,  but all ultimately have the same problem.

  So my question is how can I receive a continuous stream of UDP packets
  to some kind of buffer for processing with out losing packets?

  Thank you for any help or guidance that you provide.

  - InOrlando

 The UDP protocol is defined 'unreliable' because it cannot guarantee
 in all conditions
 the delivery of all packets in the correct sequence. This means than
 in specific conditions,  e.g.
 when the network or one of the communicating computers is overloaded,
 you can loose packets or
 receive them in the wrong order.

 So, first of all, if you cannon tolerate packet loss, consider
 switching the protocol to TCP.
 If you cannot change protocol (maybe because TCP has no multicast),
 then try to reduce the load on the
 computer and the network, e.g. by inserting a delay between two packet
 transmissions. But remember that
 this only reduce, does not cancel, the possibility of packet loss or
 packet mis-ordering.

 Of course, it could be a bug in your program, in which case none of
 the above matters ;)

 Ciao
 -
 FB

Anyone else have any comments? Anything?
--
http://mail.python.org/mailman/listinfo/python-list