# Sending/Receiving UDP Data Over Internet

**URL:** <https://www.ruby-forum.com/t/sending-receiving-udp-data-over-internet/230554>\
**Category:** GNU Radio\
**Created:** [June 23, 2014, 5:25pm UTC](https://www.ruby-forum.com/t/sending-receiving-udp-data-over-internet/230554 "2014-06-23T17:25:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason\_sam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7993a0/32.png) [@jason\_sam](https://www.ruby-forum.com/u/jason_sam)\
**Post date:** [June 23, 2014, 5:25pm UTC](https://www.ruby-forum.com/t/sending-receiving-udp-data-over-internet/230554/1 "2014-06-23T17:25:09Z")

</div>

Hello,

We would like to send UDP data from a USRP over the internet to a remote  
computer. The setup on the host side is:

USRP Source → UDP Sink

And on the client side:

UDP Source → Throttle → WX GUI FFT Sink

This setup has worked on a local network using the client’s IP address  
“10.10.0.175:9000” with the UDP sink and UDP source. However, when using  
the  
host’s public static IP “166.149.xxx.xxx:9000”, Gnuradio throws the  
following error:

/Traceback (most recent call last):  
File “/home/matias/Documents/top\_block.py”, line 116, in   
tb = top\_block()  
File “/home/matias/Documents/top\_block.py”, line 76, in **init**  
self.blocks\_udp\_source\_0 = blocks.udp\_source(gr.sizeof\_gr\_complex\*1,  
“166.149.xxx.xxx”, 9000, 1472, True)  
File  
“/opt/gnuradio-3.7.3/lib/python2.7/dist-packages/gnuradio/blocks/blocks\_swig5.py”,  
line 1974, in make  
return \_blocks\_swig5.udp\_source\_make(\*args, \*\*kwargs)  
RuntimeError: bind: Cannot assign requested address/

Does anyone know how to resolve this? We are using GNU Radio 3.7.3 on a  
virtual Ubuntu 12.04 LTS.

Thanks,  
Matias Ponce

CellAntenna Engineer

CellAntenna Corporation

12453 NW 44th Street  
Coral Springs, FL 33065

Office: 954-340-7053 ext 10251  
E-mail: removed\_email\_address@domain.invalid  
Web: [http://www.cellantenna.com](http://www.cellantenna.com)

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/Sending-Receiving-UDP-Data-Over-Internet-tp49055.html](http://gnuradio.4.n7.nabble.com/Sending-Receiving-UDP-Data-Over-Internet-tp49055.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![Matias](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7ea924/32.png) [@Matias](https://www.ruby-forum.com/u/Matias)\
**Post date:** [June 23, 2014, 5:32pm UTC](https://www.ruby-forum.com/t/sending-receiving-udp-data-over-internet/230554/2 "2014-06-23T17:32:17Z")

</div>

Hi Matias,  
usually, binding ports over 9000 should be possible for normal users,  
but if you already made sure that your address is correct and there is  
nothing else occupying port 9000, I’d check with the Ubuntu folks if  
there is something like seLinux blocking such things.

As a side note, never ever add a throttle block to a flowgraph which has  
a sample rate determined by a hardware device. There’s only two things  
that can happen:

1. Either your hardware rate matches the throttle block exactly or is  
lower: The throttle block, aside from adding unwanted latency, doesn’t  
have any effect
2. Your hardware rate is higher than your throttle rate: a backlog of  
samples will build up, up to the point where something (in your case,  
the UDP stack) will have to drop data.

Greetings,  
Marcus

---

<div class="post-metadata">

**Author:** ![Matias](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7ea924/32.png) [@Matias](https://www.ruby-forum.com/u/Matias)\
**Post date:** [June 23, 2014, 6:03pm UTC](https://www.ruby-forum.com/t/sending-receiving-udp-data-over-internet/230554/3 "2014-06-23T18:03:18Z")

</div>

The error you are getting is possibly due to your host machine using a  
LAN  
address to access the internet via NAT (network address translation).  
If  
this is the case then setting your receive ip address to ‘0.0.0.0’ in  
the  
GRC ‘UDP Source’ should do the trick. This setting tells the ‘UDP  
Source’  
to listen on all network interfaces.

Mike

–  
Mike J. M0MIK BSc MIET  
Ettus R. Technical Support  
Email: removed\_email\_address@domain.invalid  
Web: [http://ettus.com](http://ettus.com)
