【发布时间】:2012-04-17 21:16:14
【问题描述】:
我有一个如下所示的程序:
Socket receiveSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
EndPoint bindEndPoint = new IPEndPoint(IPAddress.Any, 3838);
byte[] recBuffer = new byte[256];
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
receiveSocket.Bind(bindEndPoint);
receiveSocket.Receive(recBuffer);
}
它正在工作,但是当我只想收听特定的 IP 地址时它不起作用, 它抛出一个异常“请求的地址在上下文中无效”
新代码: 端点 bindEndPoint = new IPEndPoint(IPAddress.Parse("192.168.40.1"), 3838);
【问题讨论】:
-
您的意思是“收听在特定IP上”而不是“收听到”吗?因为这就是你的新样本建议你想做的事情..
-
您确定您的计算机有该 IP 地址吗?另外:
Recieve用于 TCP 而不是 UDP。使用ReceiveFrom