Was ich frage mich, ich bin diesesC# - Mehrere TCP-Verbindungen an einem Port?
client_db.clients[numberOfClients].sock = listener.Accept();
Für meine Vernetzung Klasse zu tun erlaubt Ich schreibe ein Chat-Client und einen Server, der sie verbindet. Ich habe ein Array von Client-Objekten, die verschiedene Informationen über jede Person enthält, die sich mit dem Server verbindet. Bevor ich mich mit einem Klienten beschäftige, hätte ich einen Sockel, der dem Hörer gleich ist. Akzeptiere, und dann würde ich all meine Sachen mit diesem Sockel machen. Ich nahm fälschlicherweise an, dass ich ein Array von Sockets verwenden könnte, um mehrere TCP-Verbindungen mit mehreren Clients zu haben.
Gibt es eine Möglichkeit, dies zu tun? Mir ist klar, dass es wahrscheinlich effizientere Möglichkeiten gibt, dies zu tun, aber ich bekomme immer noch den Überblick über die Netzwerkprogrammierung, und noch wichtiger, mein Server basiert derzeit auf der Idee, dass ich ein Socket-Array verwende. Wenn es keine Möglichkeit gibt, dies zu tun, ist dies sicherlich eine Lektion, an die ich mich erinnern werde.
EDIT: Ich hatte den Eindruck, dass dies nicht funktionierte, weil ich eine Ausnahme bekam, die etwas über "kann nicht mehrere Verbindungen haben", obwohl ich diese Ausnahme nicht wieder bekommen kann. Jetzt bekomme ich einen Objektfehler. Ich bin verwirrt, ich muss in etwas mehr suchen ..
finden Sie bitte Ihren zweiten Absatz erweitern, es ist nicht klar, welche Datenstruktur und Bedienung Sie ein Problem haben. – Richard
Wie sind Sie zu dem Schluss gekommen, dass ein Array von Sockets nicht funktioniert? –
Es gibt viele großartige Netzwerk-Tutorials, die einen Chat-Server als eine Möglichkeit zum Erlernen von Threads implementieren. Hier ist eine: http://www.switchonthecode.com/tutorials/csharp-tutorial-simple-threaded-tcp-server Auch, wenn Sie dies für Ihre Klasse tun, sollten Sie nicht einige eigene Forschung tun? :) – bzlm