Software :: Receiving UDP Multicast - Blocks As If There Is No Data

Nov 6, 2010

I am trying to port some MS Visual Studio C++ code to Linux/wxWidgets. The code is socket-based and very similar between Windows and Linux. In Linux the socket, bind, and setsocketopt all return with no error. See:

Code:
BOOL CAV15Input::SetupSocket(BOOL Out)
{ if(pU->PrDebug) {
sprintf(_send,"CAV15Input::SetupSocket for port %d",pSonar->dPort);
pU->OutMsg(_send,1,0); } pSonar->UDP_Sock=0; pSonar->UDPError=0;
pSonar->UDP_Sock=socket(AF_INET,SOCK_DGRAM,0);
if(pSonar->UDP_Sock<0 ) {
pU->OutMsg("socket failed on SetupSocket",11,0);
pSonar->UDP_Sock=0;
pSonar->UDPError|=4;
return FALSE; }
// the AF_INET address family, which contains IP addresses,
local.sin_family=AF_INET;
local.sin_addr.s_addr=inet_addr(pSonar->IP_Add_PC);
local.sin_port=htons(pSonar->dPort);
// from Dave Goffe:
//> int t = 1;
//>
//>setsockopt(fd,SOL_SOCKET,SO_REUSEADDR,&t,sizeof(t));
int t=1; if(setsockopt(pSonar->UDP_Sock,
SOL_SOCKET, SO_REUSEADDR,
(char *)&t,sizeof(t)) <0) {
CloseSock();
pU->OutMsg("set SO_REUSEADDR failed in SetupSocket",11,0);
pSonar->UDPError|=4;
return FALSE; }
if(bind(pSonar->UDP_Sock,(sockaddr *)&local,sizeof(local)))
{ CloseSock();
pU->OutMsg("bind failed in SetupSocket",11,0);
pSonar->UDPError|=8; return FALSE; }
if(pU->PrDebug) {
sprintf(_send,"socket setup & bind OK for port %d",pSonar->dPort);
pU->OutMsg(_send,1,0); }
// Join multicast group
if(pSonar->datatype) // for element data
mreq.imr_multiaddr.s_addr=inet_addr(pSonar->IP_Add_ELD);
else // for beam data
mreq.imr_multiaddr.s_addr=inet_addr(pSonar->IP_Add_HRB);
mreq.imr_interface.s_addr=inet_addr(pSonar->IP_Add_PC);
if(setsockopt(pSonar->UDP_Sock,
IPPROTO_IP, IP_ADD_MEMBERSHIP,
(char *)&mreq,sizeof(mreq)) <0) {
CloseSock();
pU->OutMsg("join multicast failed in SetupSocket",11,0);
pSonar->UDPError|=16;
return FALSE;
} if(pU->PrDebug) {
if(pSonar->datatype) // for element data
sprintf(_send,"join multicast OK on %s",pSonar->IP_Add_ELD);
else // for beam data
sprintf(_send,"join multicast OK on %s",pSonar->IP_Add_HRB);
pU->OutMsg(_send,1,0); }
jMCast=1; return TRUE; }

But then when I try
recv(pSonar->UDP_Sock,&pUDP->u_dg_cM.cM[8],reedlen,0);
it blocks as if there is no data. (In Windows this works fine.) Is there something else in Linux and/or wxWidgets that I'm missing that could prevent UDP datagrams from being received? Is there some way in Linux to monitor incoming UDP traffic?

View 2 Replies


ADVERTISEMENT

Networking :: Receiving Multicast On Multiple Interfaces?

Jul 9, 2010

I am trying to run some benchmark tests for multicast. What I want to do is have one system send multicast packets and another receive it on all it's interfaces (eth0-eth3). Whenever I run receiver on more than one interface I get echo effect (if I receive on x interfaces then I get same packet x number of times). Is this how it is supposed to behave? It does not make any difference whether I use loop-back or not. I have set SO_REUSEADDR to yes. I run separate instance of receiver on each interface. I am doing this on RHEL5 systems.

# uname -r
2.6.18-164.20.1.el5

View 3 Replies View Related

Programming :: Get Data From Serial Port Function Read() Blocks When Data Not Available?

Jun 11, 2009

I am using read() in c++ to get data from a serial port. However, if no data is available on the serial port the function blocks until dta arrives.Example code:

//------------------------------------------------------------
char m_readBuffer[255] = {0};
char* p_curChar = m_readBuffer;

[code]...

View 1 Replies View Related

CentOS 5 Networking :: Can't Receive The Multicast Data

Mar 27, 2009

I'm trying to receive data that is being broadcast on address 224.0.1.1, 224.0.1.2, 224.0.1.3, 224.0.1.4. ports are 1201, 1202, 1203, 1204 respectively. I can see the data using wireshark but can not get my program to receive the data. all firewalls are shutdown. iptables is not running, i've set net.ipv4_icmp_ignore_broadcasts = 0 and still no luck.

View 1 Replies View Related

Fedora Networking :: Unable To Receive Multicast Data

Jun 13, 2010

I have just set up an FC 13 box for a small network application. At the core, the application is supposed to receive some data over a multicast on my local network. However, for some reason, I am not being able to receive any multicast data on this machine. Other machines, on the same network (connected on the same layer 2 switch) are receiving the multicast just fine. I have tried the following things:

1. ensure that I am joining the multicast on the correct interface: the machine has only one ethernet card. Also, after starting my application, I use netstat -g to check for group membership. The multicast subscription shows up fine.

2. ensure there is no error in the program: the program works fine on my person linux machine

3. ensure that the multicast is actually available: it is available on all other local machines. I also wrote my own small broadcaster. data from this broadcaster (running on the same box) is available to other machines but not to my own listener program.

4. no firewall/filtering settings on the layer2 switch

5. TTL setting on the broadcast: have tried changing it from 1 through 5 with no effect. Note that even if the broadcast is coming from the same machine, my machine does not pick it up while other machines on the network do so.

I suspect this has to do with some settings on the network card itself. Below is the output of /sbin/ifconfig on the card:

eth0 Link encap:Ethernet HWaddr 00:08:A1:67:BBA
inet addr:192.200.20.32 Bcast:192.200.20.255 Mask:255.255.255.0
inet6 addr: fe80::208:a1ff:fe67:bbca/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

[code]....

View 3 Replies View Related

Networking :: Nagios Not Receiving SNMP Data?

May 18, 2010

I have recently set up nagios on a ubuntu server (9.10), and set it up to monitor all the servers, switches etc, following the quickstart guide provided on the nagios website.My problem is this:I have setup the nagios-plugins, and tried to set it up to monitor the network switches via SNMP but receive the following within the nagios web interface:SNMP problem - No data received from host I tried it from the command line, and got the exact same error.Is there some further configuration I need to do to be able to get this data?I've used up all my google-fu, and read over everyone else's problems on every forum I could find, but to no avail.

View 6 Replies View Related

Networking :: Sending / Receiving Data Simultaneously Using BSD Sockets

Jun 25, 2010

I would like to send a data using one thread and receive a data using other thread by using a same socket connection using USD sockets. The calls i am using for sending and receiving are send(), recv(). let me know is it possible to send and receive the data parallel (Full duplex communication)?

View 2 Replies View Related

Software :: CHECK_NRPE: Error Receiving Data From Daemon

Jun 2, 2010

I have setup Nagios, Nagios Plugins, and nrpe. I have the nrpe running through xinetd.When I run /usr/local/nagios/libexec/check_nrpe -H <my_ipaddress> and I get the error

CHECK_NRPE: Error receiving data from daemon

View 14 Replies View Related

Fedora :: Finding Out What Processes Sending / Receiving Network Data?

Oct 27, 2010

I have a desklet that, occasionally after toying with network stuff, will tell me that large amounts of data are being sent/received. What's a good way to determine what processes are occupying these resources?!

View 14 Replies View Related

General :: Change Size Of Network Data Receiving Buffer On OS?

Jan 21, 2010

We know that, in a network, data transfer time is dependent on capacity of the receiving node. I have two Linux systems A (sender) and B (receiver) connected. I want to simulate congetion in a network, that means I want to increse the time taken to transfer some data. I believe, I can do this if I can reduce the capacity of the receiver node B. That perhaps possible by decreasing the receiving buffer size of B. How can I change the receiving buffer size of this linux system B?

View 1 Replies View Related

Programming :: Receiving Wrong Data On Winsock From Unix Socket

Jan 28, 2011

currently I've got a big problem on programming with sockets. I use the winsock2 API and want to receive data from a multicast adress running on a UNIX-PC. The connection works fine and I really receive data from this group, but as it seems not the right packages. The received data is saved in a char[]. E.g. at received_msg[12] is a float value. This one I would like to read out, convert and use it in later progress the next value is y at received_msg[16]. The same Code works on a Unix PC with unix sockets but converted to winsock I've got the described problem and I have to make this code work under windows.

Here a piece of the code (received_msg[12]='3f'):

Buffer is a struct containing the two float values x and y. If I convert the char as this under windows the value of x is a huge number. The correct value is around 192, so receveid_message[12] should be 1.92. Could it be that the Unix-PC is sending data in an other way than the winsock receive it?

View 2 Replies View Related

Programming :: Detect A Closed Tcp Client Connection When Client Is Only Receiving Data ?

Mar 9, 2011

I am writing a TCP server in C, and the server listens to incoming client connections and accepts them. It then creates a thread to handle the client. The clients are expected to only receive data from my server and not send any data. So if I use a select() call with a recv(), I believe that the recv() will just block forever since there will not be any data coming from the client. If I use a non-blocking recv(), then this will just return a 0 which tells me nothing because the client is not expected to send any data. I am not sure if I have misunderstood some socket concepts, but I need a solution to detect when the client has disconnected so that I can close the socket and stop sending data to the client. As I understand it, simple ACKs etc are not captured by the recv(), and only data sent by the client will cause recv() to return a non-zero value, so I am not sure how to know when the client has disconnected.

View 7 Replies View Related

Fedora Installation :: Use Update Utility Receiving Error - Repository Data For Installed Repository Not Found

Apr 19, 2010

I just installed Fedora Core 12 and when attempting use the update utility am receiving the following error:

[code]...

View 3 Replies View Related

Server :: Mail Server Blocks: Warning: Numeric Domain Name In Resource Data Of MX Record

Feb 4, 2010

My test messages from one mail server to another are getting sent to my spambucket and the only error in the logs is: warning: numeric domain name in resource data of MX record for [URL]: 74.63.64.42

View 1 Replies View Related

Fedora :: How To Enable Multicast Forwarding

Jul 22, 2010

I have a server that sits between two LANs, and I wish to enable multicast routing from one LAN to the other. I have multicast routing enabled in the kernel but didn't know how to enable it. Tried to add mc_forwarding in /etc/sysctrl but doesn't work.

View 3 Replies View Related

Ubuntu Networking :: Not Able To Get Multicast Working

Sep 1, 2010

I have several multicast data feeds that I'm trying to connect to using a minimal server install of Ubuntu as a VM on a VMWare ESXi server.I have another VM on the same server running Solaris that can connect with no issues to the incoming multicast stream.

View 1 Replies View Related

Networking :: Converting IP Multicast To MAC LLC Broadcast

Mar 5, 2010

This is not a linux specific question more of a general network issue with the hope that someone may have already done this under linux.My problem:I have a red hat linux machine transmitting IP multicast packets onto an ethernet gigabit network (cisco switch).Wireshark (running on a different red hat linux box confirms packets on network.

View 4 Replies View Related

Networking :: Multicast With More Than One Network Interface?

Jul 30, 2010

If I have set up 2 network interfaces on a box, if I started sending multicast traffic, it will go out through both interfaces? Or is there a way to control through which interface it will go out?

View 1 Replies View Related

Software :: Joining Multicast IP Group?

Dec 14, 2009

How can i make my device join a multicast IP group.My target device is in linux

View 2 Replies View Related

Programming :: Getting Multicast Address From Recvfrom

Mar 1, 2010

I'm using at struct sockaddr_in to receive multicast data sent out from another machine. When I print out the source address using inet_ntoa it gives me the source address of the PC that sent the data. This is ok but I would like to know if there is a way of getting the multicast address that the data was 'sent to'. I know I can see the multicast address in tcpdump being directed to my PC but I would like to be able to display the multicast address too? Is this possible or does the sockaddr_in give me the source address of the packet not the multicast address that the packet was sent to?

View 1 Replies View Related

CentOS 5 :: Any Tool That Can Test Multicast?

Aug 1, 2009

I am trying to search a tool for testing multicast. Currently, 'yum search multicast' yields nothing. I saw mcsender and mctest in google but they seem not to be supported in CentOS. Do you know any tool that can test multicast?

View 3 Replies View Related

Fedora :: Any Tool To Record UDP Streams (multicast) In 10 ?

Oct 26, 2009

finding a tool to record udp:// streams that are multicasted.

View 1 Replies View Related

Fedora X86/64bit :: 14 Cannot Play More Than 1 Multicast Stream

Aug 17, 2011

I have a project to run simultaneously up to 8 video streams, from a pool of about 100 multicast cameras, and display them on 4 monitors. The PC I am using is a brand-new dual CPU 4-core Intel Xeon E5620 2.40GHz, Intel S5520SCR motherboard, 8GB memory and nvidia Quadro NVS 450 graphics. It's running Fedora 14 64-bit and outputs on 2x2 LCD monitors using Xinerama. So far, so good.

Playing a single video stream from any camera works fine. The problem is that, when I open a 2nd media player window with the purpose of playing other camera, all those two video windows play a single stream. It doesn't matter which camera stream I opened first, as soon as I open a 2nd stream, both windows show the same stream (either the first, or the second, at what seems to be a random choice). Further, a 3rd or a 4th video window will also play the same stream. In other words, one stream sort of "contaminates" all the other streaming windows to play that particular stream only. The problem remains the same even when the following changes are applied:

- graphics driver: nvidia or nouveau;
- video player: vlc or mplayer;
- number of active monitors: 4, 2 or 1.

I am really puzzled because, on the same computer, Windows XP SP3 32-bit runs beautiful. I can smoothly play up to 12 video streams and some computer applications, simultaneously. I cannot believe that an obsolete OS such as Windows XP can outperform by a long shot Fedora 14 64-bit in video streaming projects. Just doesn't make sense.

Note: I have also tested Windows 7 64-bit, it also runs multiple video streams in parallel without any problems, but Win 7 has issues that XP is free of (such as graphics output glitching every few seconds).

View 1 Replies View Related

CentOS 5 :: Finding A Tool For Testing Multicast?

May 11, 2011

I am trying to search a tool for testing multicast. Currently, 'yum search multicast' yields nothing. I saw mcsender and mctest in google but they seem not to be supported in CentOS. Do you know any tool that can test multicast?

View 3 Replies View Related

Ubuntu Networking :: Unable To Receive Multicast?

Jun 23, 2011

For the last couple of days, I've been unsuccesfully trying to receive multicast packets on Ubuntu Server 11.04, and seen some strange things along the way. The program i use to test this, is basically http://www.scribd.com/doc/38224328/mcreceive-c.Now the network has been configured to forward me the multicast packets, regardless of the joins. So tcpdump shows me:

Code:
15:16:11.308952 IP 10.164.130.2.61417 > 224.16.17.23.47806: UDP, length 1400
...

[code]....

View 2 Replies View Related

Networking :: Cannot Receive UDP Multicast Packets From Windows

Dec 10, 2008

I've got an application that compiles in Windows and Linux and is using UDP multicast to communicate. I'm running it on a Windows machine, a Linux machine and a small board (Gumstix) that is running Linux as well. The Windows and Linux machines have no problems sending/receiving packets with each other. The Gumstix and Linux machines have no problems sending/receiving packets with each other. The Gumstix can also send/receive packets with two instances of the application both running on the Gumstix.

But when running on the Gumstix I can send udp multicast packets to Windows, but cannot receive them. (It works if I do point to point with a known IP port#, but not multicast.) I can run tcpdump on the Gumstix and see the packets, but they are not being received on my socket. Here's what tcpdump (running on the Gumstix) outputs when sending the same packet from different sources. Notice the IP header ID and flags (don't fragment) are different when coming from Windows.

WINDOWS to Gumstix
-7:-45:-2.015784 IP (tos 0x0, ttl 15, id 35331, offset 0, flags [none], proto: UDP (17), length: 444) 172.30.42.3.1165 > 239.255.183.180.47028: UDP, length 416

LINUX to GUMSTIX
-7:-43:-38.451991 IP (tos 0x0, ttl 15, id 0, offset 0, flags [DF], proto: UDP (17), length: 444) 172.30.42.13.32771 > 239.255.183.180.47028: UDP, length 416

GUMSTIX to GUMSTIX
-7:-33:-10.955608 IP (tos 0x0, ttl 15, id 0, offset 0, flags [DF], proto: UDP (17), length: 444) 172.30.42.110.1025 > 239.255.183.180.47028: UDP, length 416

I've tried everything I can think of to get this to work but am not getting anywhere. Also I'm pretty inexperienced when it comes to Linux. Anything I could try to be able to receive udp multicast packets from Windows?

View 1 Replies View Related

Networking :: Combining Multiple Interfaces With Multicast?

Apr 1, 2010

I have 4 interfaces, dvb0_0 - dvb0_3. Each one has a multicast stream coming in on it. The program I am using to decode these streams only accepts one interface though. How can I "combine" so that the program, listening on 1 ip can get all 4 streams? they are on groups 224.0.1.1-4

View 1 Replies View Related

Networking :: Join Multicast Group In Ipv6?

Jul 29, 2011

In the ipv4 code i was using "ip_mc_join_group()" to join the multicast group. but i cannot find a similar function for ipv6 i have found one ipv6_sock_mc_join() but this function is not available for use with my module as it is not exported.

View 1 Replies View Related

Networking :: Mapping Ethernet Multicast Address?

Nov 23, 2010

have a doubt about the multicast address.I have read that IP and ethernet multicast address have the same last 23 bits. While an ethernet multicast address always starts with 01:00:5E. Changing the last 23 bits of the IP address into hexadecimal form and "adding" them to the first 24 bits we find the ethernet address but what about the missing bit??? For istance I have: 230.11.111.10 = 11100110.00001011.01101111.00001010 So converting the last 23 bits I have b:6f:a The final ethernet address will be 01:00:5E:b:6f:a . And what about the missing bit?

View 1 Replies View Related

Networking :: Multicast UDP Packets Lost In Kernel

Jul 29, 2010

We have a high speed udp multicast connection. There are about 37 multicast groups and average incoming rate via the connection is about 20000 pkt/sec and peak 40000+ pkt/sec. Each packet is about 100-300 bytes. And there are 6 busiest multicast groups generating 80% of the traffic. No significant outgoing traffic via that interface. The problem is that, if our heavy-weight application create 37 sockets for all the groups, the packet loss become quite frequent. but if we create the 6 sockets for the busiest groups, the packet loss drops to 1/10 of the original level. We can confirm that the lost packets DO arrive in our box because a light-weight recorder on another box on the same ethernet segment can see the lost packets when listening to the same groups. If we start another heavy-weight application for the rest groups (31 groups ) on the same box, the packet loss just come back to the original level.

The packet loss happens not only to the heavy-weight application but also the light-weight recorder running on the same system. that is, the loss is system wide. The socket kernel buffer are all 4MB max and did not observe system buffer overflow. It seems the number of sockets listening to the same multicast group have the most negative impact on packet loss. And the higher traffic have a far less impact on packet loss than the number of sockets. It also seems that there is some limit in the kernel that when socket number are reduced under, the packet loss can significantly ease. How can I further diagnose the problem? Our system is RHEL 5.3 32bit i386, Xeon 2.9GHZ 16 Processors, 32GB memory. Two broadcom giga netowrk card and 6 Intel GIGA NIC, and only one interface card has so much traffic.

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved