2012-03-24 1 views
0

Я пишу C# P2P Video Chat (часть моего экзамена на факультете), я немного застрял в передаче данных через udp. Так вот как это работает. У меня есть библиотека Web_Capture, и каждый раз, когда изображение захватывается его устанавливает PictureBox изображение в захваченном одинОшибка UDP-клиента - Не удается отправить данные байтов

private void webCamCapture_ImageCaptured(object source, WebCam_Capture.WebcamEventArgs e) 
     { 
      myCamera.Image = e.WebCamImage; 
      sendData(ref ipep2); // send it immediately 
     } 

Итак метод SendData начинает посылать ...

private void sendData(ref IPEndPoint sender) 
     { 
      byte[] data; 

      if (friendsClient == null) 
      { 
       friendsClient = new UdpClient(); 

      } 

      MemoryStream myStream = new MemoryStream(); 
      myCamera.Image.Save(myStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
      data = myStream.GetBuffer(); 
      friendsClient.Send(data, data.Length,sender); 

     } 

Когда я отладки, сокет исключение выскакивает:

System.Net.Sockets.SocketException was unhandled by user code 
    Message=The requested address is not valid in its context 
    Source=System 
    ErrorCode=10049 
    NativeErrorCode=10049 

Итак, есть ли какой-либо идеи, я буду благодарностью, если он поддерживает эту идею с кодом, потому что я nooby на C# :) заранее спасибо. Марьян

+0

Что такое значение 'ipep2'? –

ответ

1

Вы должны указать IP-адрес и порт Ресивер в, Here is a complete example

так что вы должны изменить свою реализацию в

private void sendData(ref IPEndPoint reciever) 
{ 
    byte[] data; 

    Socket sending_socket = new Socket(AddressFamily.InterNetwork, ocketType.Dgram, ProtocolType.Udp); 

    MemoryStream myStream = new MemoryStream(); 
    myCamera.Image.Save(myStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
    data = myStream.GetBuffer(); 
    sending_socket.SendTo(data, reciever); 
} 
+0

Я создал UDPListener и UDPPictureSender и работает как шарм, и я уменьшаю много ненужных строк кода! Спасибо, ты спас мой вечер :)! Всего наилучшего – hrza

Смежные вопросы