我试图写一个发送文件实例到多个clients.Now的udp服务器,假设我如何静态地知道那些客户端的地址(为了简单起见),现在我想把这个包发送到这些addresses.So,我需要如何准确地填充sockaddr结构来包含这些客户端的地址。我正在使用一组sockaddr结构(以包含客户端地址),并尝试在每个time.Now中发送它们。我正试着做这样的事情
sa[1].sin_family = AF_INET;
sa[1].sin_addr.s_addr = htonl(INADDR_ANY);//should'nt I replace this INADDR_ANY with cli
正在通过多播向我发送xml源,但我不知道多播组地址。我可以改用localhost吗?也就是说,
Socket socket =
new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
IPEndPoint ip = new IPEndPoint(IPAddress.Any,8888);
socket.Bind(ip);
socket.SetSocketOption
(SocketOptionLevel.IP,
SocketOptionName.AddMembership,
我试图让两个或多个ESP32-S2通过udp从一个到另一个进行通信。因为他们可能不认识对方,ip,我想使用多播。发送MulticastPackets正在工作。(至少我可以在我的PC上监听数据包)。
到目前为止,对另一项(尤指)的接收不起作用。广播电话: 192.168.178.255:7777
接收者使用以下代码:
//Called once after Wifi is connected:
udp.beginMulticast(OAL_Broadcast, OALPort); // 192.168.178.255, 7777 as inputs
//Called periodically
public void send_multicast(string message)
{
UdpClient c = new UdpClient(10102);
Byte[] sendBytes = Encoding.ASCII.GetBytes(message);
IPAddress m_GrpAddr = IPAddress.Parse("224.0.0.1");
IPEndPoint ep = new IPEndPoint(m_GrpAddr,10102);
c.Multica
我知道网络上有很多关于C#中UDP多播的例子。这更多的是为了澄清只在发送时包含方法JoinMulticastGroup的必要性。我遇到的大多数代码示例几乎总是将此方法作为初始化代码的一部分。但是,如果程序或类只发送一次,那么它是不需要的?
也就是说,在另一个堆栈溢出问题上,有人使用了代码
public void SendMessage(string message)
{
var data = Encoding.Default.GetBytes(message);
using (var udpClient = new UdpClient(AddressFamily.InterNe