Hi, ich hab ein Problem mit den C++ Sockets. (libws2_32)
Und zwar hab' ich einen TCP Server, der bei einer Akzeptierten Verbindung
an den Client den Text
|
Quellcode
|
1
|
accept_player
|
sendet. Der Client soll dann mit dem
Laden des Spiels fortfahren. Aber bei der Abfrage auf dem Client
|
Quellcode
|
1
2
3
|
if(buffer == "accept_player"){
...
}
|
kommt IMMER false raus.
Wenn ich den empfangenen Text ausgeben lasse:
|
Quellcode
|
1
|
cout<<buffer;
|
kommt aber
|
Quellcode
|
1
|
accept_player
|
Was mache ich falsch? Hier der komplette Socket-Quelltext:
Server:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
while(true){
if(Connect = accept(Listen, (SOCKADDR*)&Server, &size)){
if(int ret = recv(Connect, buffer, 100, NULL)){
buffer[ret] = '\0';
cout<<"***Player "<<buffer<<" accepted!\n";
send(Connect, "accept_player", 14, NULL);
}
}
}
|
Client
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
send( Connect, username, 50, 0 );
char buffer[256];
while(true){
if(int ret = recv(Connect, buffer, 100, NULL)){
buffer[ret] = '\0';
bool isit = (buffer == "accept_player");
cout<<isit;
}
}
|
Bitte um schnelle Hilfe!!!