also ich bi ngrad daberi ein kleines client(server projekt zu schreiben dabei soll der server wenn der client conected den inhalt einer textfile an den client schicken. das problem es kommt gar keine verbindung zustande. hier mein code
Code:
SERVER:
int winsock()
{
SOCKADDR_IN addr;
rc = startWinsock();
if(rc!=0)
{
MessageBox(hwnd, 0, 0, ("Fehler: startWinsocks. fehler code : %i",rc));
cin.get();
return 1;
}
else
{
;
}
acceptSocket=socket(AF_INET,SOCK_STREAM,0);
if(acceptSocket == INVALID_SOCKET)
{
MessageBox(0, 0, 0,("Fehler: Der socket konnte nicht erstellt werden fehlercode: %i",WSAGetLastError()));
cin.get();
}
else
{
;
}
memset(&addr,0,sizeof(SOCKADDR_IN));
addr.sin_family=AF_INET;
addr.sin_port=htons(49152);
addr.sin_addr.s_addr=inet_addr("192.168.0.74");
rc=bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
if(rc==SOCKET_ERROR)
{
return 1;
}
else
{
;
}
rc=listen(acceptSocket,10);
if(rc==SOCKET_ERROR)
{
return 1;
}
else
{
//cout<<"acceptSocket ist im listen Modus...."<<endl;
//cin.get();
}
connectedSocket=accept(acceptSocket,NULL,NULL);
if(connectedSocket==INVALID_SOCKET)
{
//cout<<"Fehler: accept, fehler code: "<<WSAGetLastError()<<endl;
//cin.get();
return 1;
}
else
{
//cout<<"Neue Verbindung wurde akzeptiert!"<<endl;
/*cin.get()*/;
}
while(rc!=SOCKET_ERROR)
{
if(rc==0)
{
cout<<"Server hat die Verbindung getrennt.."<<endl;
break;
}
if(rc==SOCKET_ERROR)
{
cout<<"Fehler: recv, fehler code: "<<WSAGetLastError();
break;
}
ifstream dat_ein;
string dateiname = "C:\\log.txt";
dat_ein.open(dateiname.c_str(), ios_base::in);
if(!dat_ein)
{
return -1;
}
int i = 0;
while (!dat_ein.eof())
{
dat_ein.get(buffer2[i]);
++i;
}
dat_ein.close();
rc=send(connectedSocket,buffer2,strlen(buffer2),0);
}
closesocket(acceptSocket);
closesocket(connectedSocket);
WSACleanup();
return 0;
}
CLIENT:
int main()
{
long rc;
SOCKET Socket;
char buffer[256];
SOCKADDR_IN addr;
rc=startWinsock();
if(rc!=0)
{
cout<<"Fehler startWinsocks Fehlercode "<<rc<<endl;
cin.get();
return 1;
}
else
{
cout<<"Winsocks gestartet"<<endl;
cin.get();
}
Socket=socket(AF_INET,SOCK_STREAM,0);
if(Socket==INVALID_SOCKET)
{
cout<<"Fehler Socket konnte nicht erstellt werden fehlercode :"<<WSAGetLastError()<<endl;
cin.get();
return 1;
}
else
{
cout<<"Socket erstellt"<<endl;
cin.get();
}
memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten
addr.sin_family=AF_INET;
addr.sin_port=htons(49152); // wir verwenden mal port 12345
addr.sin_addr.s_addr=inet_addr("192.168.0.74"); // zielrechner ist unser eigener
rc=connect(Socket,(SOCKADDR*)&addr,sizeof(SOCKADDR));
if(rc==SOCKET_ERROR)
{
cout<<"Fehler: connect gescheitert fehlercode "<<WSAGetLastError()<<endl;
cin.get();
return 1;
}
else
{
cout<<"verunden mit 192.168.0.74.."<<endl;
cin.get();
}
while(rc!=SOCKET_ERROR)
{
if(rc==0)
{
cout<<"Server hat die Verbindung getrennt.."<<endl;
break;
}
if(rc==SOCKET_ERROR)
{
cout<<"Fehler: recv, fehler code: "<<WSAGetLastError()<<endl;
break;
}
buffer[rc]='\0';
rc=recv(Socket,buffer,256,0);
cout<<endl<<"Server antwortet: "<<buffer<<endl;
}
closesocket(Socket);
WSACleanup();
return 0;
}