There is a reported issue referring to this problem:
http://code.google.com/p/android/issues/detail?id=8407

On Jun 25, 5:47 am, strawd <[email protected]> wrote:
> I am seeing this same issue.  Have you found a solution?
>
> On May 6, 2:01 am, "[email protected]"
>
> <[email protected]> wrote:
> > Hi,
>
> > I have written an app what is receiving UDP broadcast messages (via
> > WLAN). It is running on an HTC magic (1.6) without any problems. But
> > on a HTC Desire (2.1.1) or Motorola Milestone (2.0.1) we receive
> > nothing.
> > We tryed to send the broadcast by the phone it self, this is working
> > on all phones...
>
> > Has anyone a clue what could be wrong?
>
> > Thx
>
> > Marco
>
> > here my code:
> > ---
> > DatagramSocket dsocket;
> >                                         try {
> >                                                 dsocket = new 
> > DatagramSocket(BROADCAST_PORT);
> >                                                 
> > dsocket.setReuseAddress(true);
> >                                         } catch (SocketException e) {
> >                                                 
> > CDebug.getLog().log(Level.SEVERE,
> >                                                                 "Could not 
> > open Backend broadcast listener", e);
> >                                                 return;
> >                                         }
>
> >                                         // Create a buffer to read 
> > datagrams into. If a
> >                                         // packet is larger than this 
> > buffer, the
> >                                         // excess will simply be discarded!
> >                                         byte[] buffer = new byte[2048];
>
> >                                         // Create a packet to receive data 
> > into the buffer
> >                                         DatagramPacket packet = new 
> > DatagramPacket(buffer,
> >                                                         buffer.length);
>
> >                                         CDebug.getLog().log(Level.FINE,
> >                                                         "Open Backend 
> > broadcast listener on Port: " + BROADCAST_PORT);
> >                                         dsocket.setSoTimeout(300); // max 
> > time the socket is blocked
> >                                         // System.out.println("open poard");
> >                                         // Now loop forever, waiting to 
> > receive packets and printing
> >                                         // them.
> >                                         while (true) {
> >                                                 if (stopBroadcastListening) 
> > {
> >                                                         dsocket.close();
> >                                                         return;
> >                                                 }
> >                                                 // Wait to receive a 
> > datagram
> >                                                 try {
>
> >                                                         
> > dsocket.receive(packet);
> >                                                         
> > oneBroadcastReceived = true;
> >                                                 } catch 
> > (SocketTimeoutException e) {
> > //                                                      Debug
> > //                                                      
> > .getLog().info("Backend broadcast listener timeout");
> >                                                         continue;
> >                                                 } catch (IOException e) {
> >                                                         CDebug
> >                                                                         
> > .getLog()
> >                                                                         
> > .log(
> >                                                                             
> >             Level.SEVERE,
> >                                                                             
> >             "Could not read from Backend broadcast listener socket.
> > close connection",
> >                                                                             
> >             e);
> >                                                         dsocket.close();
> >                                                         return;
> >                                                 }
>
> >                                                 // Convert the contents to 
> > a string, and display them
> >                                                 String msg = new 
> > String(buffer, 0, packet.getLength());
> >                                                 InetSocketAddress sender = 
> > (InetSocketAddress) packet
> >                                                                 
> > .getSocketAddress();
> > //                                              System.out.println(sender + 
> > msg);
> >                                                 CDebug.getLog().log(
> >                                                                 Level.INFO,
> >                                                                 "Receive 
> > Broadcast from "
> >                                                                             
> >     + sender.getHostName() + ":" + msg);
>
> >                                                 try {
> >                                                         
> > ObjectParser.fireEventsForMessage(msg, me,sender);
> >                                                 } catch (Exception e) {
> >                                                         CDebug.getLog().log(
> >                                                                         
> > Level.WARNING,
> >                                                                         
> > "Could not compute received message from Backend broadcast:"
> >                                                                             
> >             + msg, e);
> >                                                 }
>
> >                                                 // 
> > System.out.println(packet.getAddress().getHostName()
> >                                                 // +
> >                                                 // ": " + msg);
>
> >                                                 // Reset the length of the 
> > packet before reusing it.
> >                                                 
> > packet.setLength(buffer.length);
> >                                         }
> >                                 } catch (Throwable t) {
> >                                         
> > CAirport.getInstance().unsetBroadcastListening();
> >                                 }
> >                         }
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Android Developers" group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group 
> > athttp://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to