ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
382
382
EMPFEHLEN
-
Hallo,
ich bin gerade dabei einen Client zu programmieren, der mehrere Verbindungen zu einem Server aufbauen kann. Den Server(der auch mehrere Clients bearbeiten kann) habe ich mit Qt4 programmiert und der läuft auch wunderbar. Mehrere "verschiedene" Clients können sich auch verbinden.
So nun zum eigentlichen. Ich programmiere den Client mit MFC CSockets und mehreren Threads.
Ich habe mir für die verschiedenen Verbindungen eine kleine Struktur zusammengebastelt.
Code cpp:1 2 3 4 5 6 7 8 9
struct STR_Connections { BOOL IsConnected; UINT ID; UINT uiReceiveValue; UINT uiPort; string szHostnameIP; CSocket *pSocketConnection; BYTE *bBuff; };
In meiner Klasse die den Netzwerkkram behandelt erstelle ich mehrere Instanzen dieser Struktur.
Code cpp:1
STR_Connections *Connections;
Welche dann noch initialisiert werden.
Code cpp:1 2 3 4 5 6 7 8 9
for(i = 0; i < this->MaxConnections; i++) { this->Clients[i].bBuff = new BYTE[MAX_DATATRANSFER_LENGTH]; this->Clients[i].ID = -1; this->Clients[i].IsConnected = false; this->Clients[i].pSocketConnection = new CSocket; this->Clients[i].szHostnameIP = "127.0.0.1"; this->Clients[i].uiPort = 50000; this->Clients[i].uiReceiveValue = 0; }
Funktioniert bis dahin auch noch alles. Ich kann auch EINE Verbindung funktionsfähig herstellen mit dem Server.
Dies mach ich mit folgendem Aufruf.
Code cpp:1 2 3 4 5
this->Connections[ConID].pSocketConnection->Socket(); while(!this->Connections[ConID].pSocketConnection->Connect(A2BSTR(this->Connections[ConID].szHostnameIP.c_str()), this->Connections[ConID].uiPort)) { // Wartezeit für Verbindungsversuche Sleep(1000); }
Sobald ich ich aber eine weitere Verbindung aufbaue stürzt meine Anwendung ab. Ich habe sichergestellt, dass die sockets nicht überschieben werden.
Es ist auch unerheblich in welchem Thread der Aufruf für einen Verbindungsaufbau getätigt wird. Es funktioniert wie gesagt nur EINE Verbindung.
Der Server bekommt davon scheinbar auch nichts mit außer dass die Verbindung zum Client unterbrochen wurde.
Hab ich vielleicht irgendwas vergessen was für weitere Verbindung notwendig ist?
Mfg ManuelGeändert von thekiller (02.06.10 um 16:00 Uhr)
OS: Win 7 Ultimate x64
CPU: Intel Core i7 2600K (3,4GHz - 3,8 GHz)
RAM: 4 x 8GB-DDR3 1333MHz
Board: Asus P8Z68-V/Gen3
GFX: Nvidia GTX580 (Palit)
Cinema 4D R12, Photoshop CS5, Visual Studio 2010, Qt SDK, Notepad++
blog.unlimitedengine.de
design-projects.de
Ähnliche Themen
-
Netzwerk Problem: Kommunikation zwischen einem Client und Server
Von DiDiJo im Forum NetzwerkeAntworten: 1Letzter Beitrag: 03.01.10, 18:45 -
Transport eines großen Bildes von einem Server zum Client (Web)
Von Looky im Forum JavaAntworten: 0Letzter Beitrag: 13.03.09, 12:32 -
mehrere Server an einem Client- Port?
Von Nanosha im Forum NetzwerkeAntworten: 1Letzter Beitrag: 16.11.07, 07:55 -
Wieviele Connections (Verbindungen) hat man bei einem Paid-Server
Von D@nger im Forum Hosting & WebserverAntworten: 3Letzter Beitrag: 15.11.05, 11:38 -
Mehrere Vhosts auf einem Server mit mehreren IPs ?
Von MiNiMaG im Forum Linux & UnixAntworten: 13Letzter Beitrag: 17.03.05, 17:23





Zitieren
Login






