Moin
Ich bin totaler Netzwerk programming Knub.
Ich hab nun folgendes anahnd eines Tutrials hinbekommen was auch super und einwandfrei funktioniert:
So kann mir nun jemand helfen wie ich die Message von Server abfange?
Ich brauche das für ein Spiel. TImer gesteuret soll alle 500ms überprüft werden
ob eine Message da ist undwenn ja wird diese weiter verarbeitet.
Wie müsste die Fukntion aussehen?
ach und noch etwas:
Was muss in den Destruktor um die Verbindung sauber zu schließen?
//edit
Hat sich erledigt -.- Frage war ein bischen unnötig ichweiß -.-
Ich bin totaler Netzwerk programming Knub.
Ich hab nun folgendes anahnd eines Tutrials hinbekommen was auch super und einwandfrei funktioniert:
Code:
CClient::CClient()
{
rc=StartWinsock();
if(rc!=0)
{
//Fehler: startWinsock, fehler code: %d\n",rc);
}
else
{
//"Winsock gestartet!\n");
}
s=socket(AF_INET,SOCK_STREAM,0);
if(s==INVALID_SOCKET)
{
//"Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError());
}
else
{
//"Socket erstellt!\n");
}
}
CClient::~CClient()
{
}
int CClient::StartWinsock()
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&wsa);
}
int CClient::Connect()
{
memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten
addr.sin_family=AF_INET;
addr.sin_port=htons(12345); // wir verwenden mal port 12345
addr.sin_addr.s_addr=inet_addr("127.0.0.1"); // zielrechner ist unser eigener
rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
if(rc==SOCKET_ERROR)
{
//"Fehler: connect gescheitert, fehler code: %d\n",WSAGetLastError());
return 1;
}
else
{
//"Verbunden mit 127.0.0.1..\n");
return 0;
}
}
void CClient::test()
{
while(1)
{
char message[254] = "test 1 2 3 4";
send(s, message, strlen(message), 0);
Sleep(1000);
}
}
So kann mir nun jemand helfen wie ich die Message von Server abfange?
Ich brauche das für ein Spiel. TImer gesteuret soll alle 500ms überprüft werden
ob eine Message da ist undwenn ja wird diese weiter verarbeitet.
Wie müsste die Fukntion aussehen?
Code:
recv(?);
Code:
if(rc==0 || rc==SOCKET_ERROR)
{
closesocket(?); // socket schliessen
}
else //weiterverabeiten
ach und noch etwas:
Was muss in den Destruktor um die Verbindung sauber zu schließen?
//edit
Hat sich erledigt -.- Frage war ein bischen unnötig ichweiß -.-