JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem mit Direct Play

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 29.04.2004, 16:09    Titel: Problem mit Direct Play Antworten mit Zitat

Also ich arbeite gerade an einem Netzwerkspiel und seit kurzem gibt es einen Fehler wenn ich disconnecten will. DirectPlay übergibt nämlich meinem Message Handler einen falschen Parameter (welchen weiss ich grad leider nicht mehr). Auch ensteht dieser Fehler nicht immer jetzt zum Beispiel konnte ich 10x mal disconnecten ohne das ein Fehler kam. Aber noch vor einer Stunde war dieses Problem da.

hier der code wo der Fehler ensteht:
Code:
HRESULT WINAPI MainDirectPlayMessageHandler(PVOID pvUserContext, DWORD dwMessageId, PVOID pMsgBuffer)
{
   if(!Network.GetnotYET())
      return Network.DirectPlayMessageHandler(pvUserContext,dwMessageId,pMsgBuffer);
   else
      return true;
}


ich habe auch schon extra eine Abfrage eingebaut ob er diesen code ausführen soll. Aber es scheint irgendwie nicht zuklappen.

Und hier der code an dem die variable geändert wird:
Code:
HRESULT CNetwork::Disconnect(void)
{
   HRESULT hr = S_OK;

   if(m_bHosting)
      EndSession();

    m_bHosting = m_bConnected = false;

   m_notYET = true;

    // Cleanup DirectPlay
    if( m_pDP )
        m_pDP->Close(0);

    // Init DirectPlay
    if( FAILED( hr = m_pDP->Initialize(NULL, MainDirectPlayMessageHandler, 0 ) ) )
    {
        DXTRACE_ERR( TEXT("Failed Initializing DirectPlay"), hr );
      m_notYET = false;
        return hr;
    }
   return hr;
}


ich weiss einfach nicht mehr weiter glaube aber das das Problem irgendwie mir Threadsynchonisation zusammenhängt.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 29.04.2004, 18:35    Titel: Antworten mit Zitat

Wenn du mit Threads arbeitest, musst du Mutexes setzen wenn du auf Daten zugreifst, auf die mehrere Threads Zugriff haben können.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 29.04.2004, 19:02    Titel: Antworten mit Zitat

Mutexes ???
ich arbeite ja nicht direkt mit threads sondern direct play macht ja einen eigenen thread, deswegen hab ich mich damit noch nicht so beschäftigt.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 29.04.2004, 19:20    Titel: Antworten mit Zitat

Achso, dann weiß ich es nicht... mit DPlay habe ich mich nicht sehr lange beschäftigt, mag ich nicht... du kannst dir ja mal RakNet(siehe sig.) anschauen, als einfache Alternative.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum