ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
697
697
EMPFEHLEN
-
Guten Abend liebe Community,
Ich bin derzeit dabei, eine Anwendung zu schreiben, welche nach ihrer Benutzung ein paar Strings und Integer ausgibt, welche dann an eine andere Anwendung gesendet werden sollen, damit dieser dann seine Benutzung mit diesen Daten fortsetzten kann.
Im Grunde eine Art Minesweeper rundenbasiert.
Nun fällt es mir allerdings sehr schwer, eine Verbindung zu einem anderen Rechner aufzubauen und aus den Tutorials die man bei Tante Google unter den Begriffen "C# Socket Programming" etc. helfen mir derzeit auch net groß weiter bzw. ich verstehe es nicht so ganz.
Kann mir vielleicht jemand helfen und ggf. eine Art Vorlage bieten, welche ich abgeleitet verwenden könnte.
Wichtig dazu wäre zudem noch, dass die Anwendung WPF als grafische Oberfäche nutzt.
Es wäre toll wenn man über ein (bereits bestehendes) Menu ein MenuItem hinzufügen kann welches dann den Server startet bzw. über welches man einem vorhandenen beitreten kann (Click Event).
Meine derzeitigen Versuche bestehen darin, dass ich ein Fenster öffne, welches die Buttons "Erstellen" und "Beitreten" beinhaltet. Des weiteren eine TextBox für die IP eingabe.
Nachdem ich zB. Erstellen drücke erstelle ich einen Thread(Ist das notwendig bei nur 2 Anwendern?) welcher dann den Socket erstellt:
Code :1
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Nach dem Bind() und Listen() warte ich dann auf den anderen Anwender und sobald dieser verbindet wird ein vordefiniert string übermittelt aber der Server schließt wieder bzw. wirft eine Exception wenn ich nocheinmal was senden möchte.
Hier der ganze Code von der Server.xaml.cs:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
private void StartServer() { Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8080)); sock.Listen(0); Socket ClientAccept = socket.Accept(); byte[] buffer = Encoding.Default.GetBytes("Hallo, Test."); ClientAccept.Send(buffer, 0, buffer.Length, 0); buffer = new byte[256]; int rec = ClientAccept.Receive(buffer, 0, buffer.Length, 0); Array.Resize(ref buffer, rec); //sock.Close(); //sock.Dispose(); //ClientAccept.Close(); //ClientAccept.Dispose(); } private void _StartServerButton_Click(object sender, RoutedEventArgs e) { Thread ServerThread = new Thread(new ThreadStart(StartServer)); ServerThread.Start(); }
Ich bedanke mich schonmal für jede Antwort.
Grüße Grolvar
Ähnliche Themen
-
Java Socket Prog. Client+Server
Von yuro im Forum JavaAntworten: 7Letzter Beitrag: 01.12.11, 19:24 -
socket client- server windows<->linux
Von hphi im Forum C/C++Antworten: 1Letzter Beitrag: 22.11.07, 13:53 -
Server Socket und Client Socket
Von spiderman21 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 23.10.07, 17:00 -
Server Socket und Client Socket
Von spiderman21 im Forum NetzwerkeAntworten: 1Letzter Beitrag: 22.10.07, 01:48 -
Socket Server / Client problem
Von PrinzMartin im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 6Letzter Beitrag: 23.08.07, 16:53





Zitieren
Login





