C# UdpClient-server-und client-Problem
Das ist mein server code
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
UdpClient newsock = new UdpClient(ipep);
Console.WriteLine("Waiting for a client...");
IPEndPoint send = new IPEndPoint(IPAddress.Any, 0);
byte[] data1 = newsock.Receive(ref send);
int test1 = BitConverter.ToInt32(data1, 0);
Console.WriteLine("test1 = {0}", test1);
Dies ist mein client-code
byte[] data = new byte[1024];
string stringData;
UdpClient server = new UdpClient("127.0.0.1", 9050);
IPEndPoint send = new IPEndPoint(IPAddress.Any, 0);
int test1 = 45;
byte[] data1 = BitConverter.GetBytes(test1);
server.Send(data1, data1.Length);
Laut meinem client und-server,
Der client ist die ein senden von Daten an server.
Aber meine Anforderung ist anders herum! und im nicht in der Lage, das zu tun..
Wenn ich versuche diesen code hinzufügen der server
byte[] buffer = ASCIIEncoding.ASCII.GetBytes("Hello Client");
newsock.Send(buffer, buffer.Length);
Bekomme ich eine Ausnahme, da The operation is not allowed on non-connected sockets.
Kann jemand mir helfen?
InformationsquelleAutor Mafahir Fairoze | 2010-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check-out JoinMulticastGroup (es ist wie Connect für TcpClient). Sie müssen dies tun, vor der Ausstrahlung (das heißt, wenn Sie senden).
In der Dokumentation für UdpClient wird auch Ihnen hilfreich sein.
Fair genug, ich vermute, dass die Dokumentation für die UdpClient-alles ist die OP wirklich notwendig ist.
InformationsquelleAutor Austin Salonen
UDP ist verbindungslos. Wenn Sie anrufen
connect
auf einen UDP-socket, Sie sind wirklich nur die Standard-Einstellung Ziel IP und port. Der Empfänger auf der anderen Seite hat die Verwendung Socket.ReceiveFrom (genanntrecvfrom
unter UNIX), um herauszufinden, wo das Paket kam, und dannSendTo
Antwort auf die ursprüngliche Anfrage. Die server verwenden könnteconnect
aber das wäre umständlich, wenn Sie wollten Unterstützung für mehrere clients.InformationsquelleAutor Ben Jackson