Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » Verbindung uebers Internet

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.05.2004, 13:34 Uhr
~c00der
Gast


Hallo,
ich habe folgendes Problem. Ich habe ein schachspiel fuer die Konsole Programmiert und nun möchte ich es gerne internetfähig machen, indem ich eine Verbindung zu einem anderen rechner aufbaue und mit diesem Komunizieren kann.
Mein Problem ist nun das ich nichtgenau weiß wie ich das anstellen kann.
Wie kann ich eine Verbindung zu einem anderen rechner im internet erstellen, welchen Port sollte ich am besten benutzen?

Die internet verbindung sollte im theoretischen so ablaufen.

Spielstart
-Internetverbindung zu gegen Spieler aufbauen.
Spieler farbe wählen
-Mitteilung an Gegenspieler welche farbe
Spieler mit Weiß fängt an solange wartet Schwarz auf Nachricht
-Spieler Weiß Spielzug senden
Spieler Weiß soll jetzt Nachricht warten.
-Spieler Schwarz Spielzug senden
usw.

Ich wäre fuer jede kleine Hilfe dankbar.

Gruß
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.05.2004, 15:20 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Das kannst du mit Sockets machen. Dazu findest du hier schon ien paar Themen mit der Suche.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.05.2004, 22:23 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Erst mal die Grundfrage: Welche Programmiersprache? .NET, MFC oder Win-API?
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.05.2004, 19:38 Uhr
~c00der
Gast


Also ich verwende .Net.

habe jetzt auch schon alles soweit Programmiert und bekomme eine verbindung aufmeinem Rechner hin. Nur übers internet funktioniert das nicht.
Ich bin momentan wirklich voll am ende und hab absolut keine Lust mehr. Am liebsten wuerd ich das gane Projekt hin schmeissen. Hatte eben meinen vorerst letzten versuch gestartet es zum laufen zu bekommen aber es will nicht.

Ich bitte hiermit um etwas hilfe.

Hier ist der Code fuer den Client und den Server.


Code:
#region Client
            public void ConnectServer(string pstrIP)
            {
                // Server IP speichern
                strServerIP    = pstrIP;
                // Thread Objekt erstellen
                ThreadReceiveClient    = new Thread(new ThreadStart(ThreadReceivingClient));
                // Thread starten
                ThreadReceiveClient.Start();    
            }

            private void ThreadReceivingClient()
            {
                try
                {
                    // Thread for receiving packets from server
                    byte[]    DataBuffer        = new byte[4];
                    int        iBytesReceived    = 0;
                    
                    // Client Objekt erstellen
                    Client                    = new TcpClient(strServerIP, iPort);
                    
                    // Netzwerkstream initialisieren
                    ClientSockStream        = Client.GetStream();
                    
                    
                    // Schleifenkontrollvariable auf true setzen
                    blnReceivingClient        = true;
                    
                    // Game starten
                    MainFrame.RestartGame();

                    while (blnReceivingClient)
                    {                            
                        try
                        {
                            iBytesReceived    = ClientSockStream.Read(DataBuffer, 0, 4);
                        }
                        catch
                        {
                            return;
                        }
                                                        
                        if(iBytesReceived > 0)
                        {
    
                        }    
                    } // while
                }
                catch(ThreadAbortException ) {}
                catch(Exception ex)
                {
                    MessageBox.Show("Fehler: " + ex.Message + "\n" + ex.StackTrace);
                    return;
                }
            }
        #endregion




Code:
#region Server
            public void StartServer()
            {            
                // Thread Objekt erstellen
                ThreadReceiveServer    = new Thread(new ThreadStart(ThreadReceivingServer));
                // Thread starten
                ThreadReceiveServer.Start();
            }

            private void ThreadReceivingServer()
            {    
                try
                {
                    byte[]        DataBuffer        = new byte[4];
                    IPHostEntry LocalHostEntry    = Dns.GetHostByName(Dns.GetHostName());
                    int            iBytesReceived    = 0;

                    // Listener Objekt erstellen
                    Listener                    = new TcpListener(LocalHostEntry.AddressList[1], iPort);
                    
                    // Listener starten
                    Listener.Start();
                        
                    Server = Listener.AcceptSocket();
                    
                    // Netzwerkstream Objekt erstellen
                    ServerSockStream            = new NetworkStream(Server);
                                
                    // Schleifenkontrollvariable auf true setzen
                    blnReceivingServer            = true;

                    // Game starten
                    MainFrame.RestartGame();

                    while(blnReceivingServer)
                    {
                        try
                        {
                            iBytesReceived    = ServerSockStream.Read(DataBuffer, 0, 4);
                        }
                        catch
                        {
                            return;
                        }

                        if(iBytesReceived > 0)
                        {
                            
                        }    
                    } // while
                }
                catch(ThreadAbortException ) {}
                catch(Exception ex)
                {
                    MessageBox.Show("Fehler: " + ex.Message + "\n" + ex.StackTrace);
                    return;
                }
            }
        #endregion

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.05.2004, 19:40 Uhr
~c00der
Gast


Freue mich wirklich über jede hilfe. Noch eine schlaflose nacht kann ich mir nicht antuen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.05.2004, 12:56 Uhr
Bruder Leif
dances with systems
(Operator)


Uffala... was genau funktioniert denn da nicht? *augenreib*
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.05.2004, 16:41 Uhr
~c00der
Gast


naja ehrlich gesagt weiß ich es ja selbst nicht so genau. Ich hab mir jetzt noch mal einmal ein paar tutorials durchgelesen. ICh denke das es etwas mit der IP und dem Prot zu tuen hat, bin mir aber nicht sicher.

Naja also fang ich mal bei null an.
Ich möcht eine internet Verbindung zu einem anderen Rechner aufbauen. Wenn die Verbindung steht soll sagen wir der Client auf eine nachricht vom Server warten. Wenn der Client eine Nachricht von Server empfangen hat soll der Server auf eine Nachricht vom client warten usw. Also es sollen niemals beide gleichzeitig eine Nachricht versenden können (so is das halt beim Schach .
Meine frage jetzt welche Komponenten benoetige ich um eine solche Verbindung aufzubauen und Welche IP bzw welchen Port verwendet man dafuer am besten?

Wenn jemand etwas Code oder irgend eine andere hilfe fuer mich hat, dem bin ich auf ewig dankbar.

Programiersprache Visual C# .NET.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: