Отправка и получение пакетов UDP
Следующий код отправляет пакет через порт 15000:
int port = 15000;
UdpClient udp = new UdpClient();
//udp.EnableBroadcast = true; //This was suggested in a now deleted answer
IPEndPoint groupEP = new IPEndPoint(IPAddress.Broadcast, port);
string str4 = "I want to receive this!";
byte[] sendBytes4 = Encoding.ASCII.GetBytes(str4);
udp.Send(sendBytes4, sendBytes4.Length, groupEP);
udp.Close();
Тем не менее, это 'Это бесполезно, если я могузатем получить его на другом компьютере. Все, что мне нужно, это отправить команду другому компьютеру в локальной сети, чтобы он получил ее и что-то сделал.
Без использования библиотеки Pcap, есть ли способ, которым я могу это сделать? Компьютер, с которым взаимодействует моя программа, - 32-разрядная Windows XP, а отправляющий компьютер - 64-разрядная Windows 7, если это имеет значение. Я'мы смотрели в различныеnet send
команды, но я могуне понимаю их.
У меня также есть доступ к компьютеру (XP)с локальным IP, благодаря возможности физического вводаIPCONFIG» в теме.
РЕДАКТИРОВАТЬ: Вот'Функция получения I 'использую, скопировал откуда-то: я
public void ReceiveBroadcast(int port)
{
Debug.WriteLine("Trying to receive...");
UdpClient client = null;
try
{
client = new UdpClient(port);
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
IPEndPoint server = new IPEndPoint(IPAddress.Broadcast, port);
byte[] packet = client.Receive(ref server);
Debug.WriteLine(Encoding.ASCII.GetString(packet));
}
я звонюReceiveBroadcast(15000)
но там'нет вывода вообще.