2012-06-30 3 views
1

Так что я делаю небольшой отправитель пакета UDP, но у меня есть проблема. Я настроил его так, что, когда пользователь нажимает кнопку «2», он автоматически отправит пакет в IP-адрес, который я указал. Как я могу сделать это так, чтобы пользователь мог ввести туда собственный IP-адрес и который станет IP-адресом, на который отправлен пакет? Вот код, который я до сих пор:Как включить собственный IP-адрес для отправителя пакета UDP?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Threading; 
using System.Net.Sockets; 
using System.Net; 
using System.IO; 

namespace ProjectTakedown 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() //where the IP should be entered 
     { 
      InitializeComponent(); 
     } 

     private void button2_Click(object sender, EventArgs e) //button to start takedown 
     { 
      byte[] packetData = System.Text.ASCIIEncoding.ASCII.GetBytes("<Packet OF Data Here>"); 
      string IP = "127.0.0.1"; 
      int port = 80; 

      IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP), port); 

      Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); 
      client.SendTo(packetData, ep); 
     } 

     private void Stop_Click(object sender, EventArgs e) 
     { 

     } 
    } 
} 

Кроме того, как я получаю кнопку остановки, чтобы остановить этот процесс?

+0

Хм, "ProjectTakedown"? –

ответ

0

Вы могли бы TextBox на графический интерфейс, который позволяет пользователю ввести строку, представляющую IP-адрес и при нажатии на кнопку вы берете содержимое и использовать их, чтобы послать пакет:

private void button2_Click(object sender, EventArgs e) //button to start takedown 
{ 
    byte[] packetData = System.Text.ASCIIEncoding.ASCII.GetBytes("<Packet OF Data Here>"); 
    string IP = textBox1.Text; // take input by user 
    int port = 80; 

    IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP), port); 

    Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); 
    client.SendTo(packetData, ep); 
} 
Смежные вопросы