широковещание - PullRequest
       9

широковещание

0 голосов
/ 02 апреля 2009

Хорошо, для трансляции я создал сокет:

 notifySock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

И для отправки имени хоста моего компьютера всем остальным компьютерам, подключенным к той же локальной сети, я использую метод send (Byte [] buffer):

 notifySock.Send(hostBuffer);

hostBuffer содержит имя хоста моего компьютера.

Однако, поскольку я использую тип сокета 'дейтаграмма', мне нужно отформатировать данные, которые мне нужно отправить. Если возможно, укажите код, который я должен поместить между двумя введенными мною строками кода, чтобы создать сокет и отправить данные.

Ответы [ 2 ]

1 голос
/ 02 апреля 2009

Для трансляции из пользовательского приложения обычно используется UDP . Вам необходимо разработать подходящий протокол, то есть способ форматирования информации, которую вы хотите отправить в пакет UDP.

0 голосов
/ 02 апреля 2009

В вашем примере вы не указали, кому вы отправляете. Вам нужно что-то вроде:

UdpClient notifySock = new UdpClient(endPoint);  
notifySock.Send(buffer, buffer.Length, new IPEndPoint(IPAddress.Broadcast, 1234)); 

Чтобы другие хосты в вашей локальной сети могли получать сообщения от порта UDP 1234.

...