I'm writing a simple C# connectionless UDP application that communicates with a C++ connectionless UDP app. I could send from the C# to C++ using the following sets of functions fine:
Send from C# to C++
However, I'm having trouble receiving the C++ UDP messages from the C# application. The recvfrom() from the C++ app appears to be generating random source information, which is then used as the destination for the sendto() C++ function.
The limitation is that I can only make changes to the C# application and not the C++'s. Below is how I implemented the UDP for both C# and C++ app.
m_listenEp = new IPEndPoint(IPAddress.Any, m_Udplisten_port); m_UdpListenSocket = new Socket(m_listenEp.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp); m_UdpListenSocket.Bind(m_listenEp); m_sendEp = new System.Net.IPEndPoint(addr, m_Udpsend_port); m_UdpSendSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); m_UdpSendSocket.SendTo(msgBuffer, msgBuffer.Length, SocketFlags.None, m_sendEp);
SOCKET m_sfd; recvfrom(m_sfd,buf,maxLen,0,(struct sockaddr *)src, &fromlen); sendto(m_sfd,buf,len,0,(struct sockaddr *)src, sizeof(struct sockaddr_in));
Thanks in advance.