我正在尝试开发一个C#UTP服务器,以便发送字符串sList
的列表。这是由另一个线程不断填补的。我所谓的软件行为是让网络上的客户端发送每个信息。
这里的方法:
internal static void MyUDPSocket()
{
byte[] data = new byte[1024];
IPEndPoint ip = new IPEndPoint(IPAddress.Any, 9050);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.Bind(ip);
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 9050);
EndPoint Remote = (EndPoint)(sender);
while (true)
{
if (sList.Count > 0)
{
try
{
data = Encoding.ASCII.GetBytes(sList[0]);
socket.SendTo(data, data.Length, SocketFlags.None, Remote);
sList.RemoveAt(0);
}
catch (FormatException e) { }
catch (System.ArgumentNullException en) { }
}
}
}
无论如何,当我启动软件时,C#会在socket.SendTo(data, data.Length, SocketFlags.None, Remote)
上返回一个Exception(System.Net.Sockets.SocketException),它说上下文中没有必需的地址。