Hallo zusammen!
Ich habe folgendes Problem:
Ich soll mit C++ ein kleines Programm zur Kommunikation vie Sockets schreiben. Mit perl war es nicht schwer. Mit C++ leider schon. Wieso kommt bei mir der Text vom Client beim Server nicht an? Sprich die Verbindung wird hergestellt, nur ankommen tut nichts.
Client:
Server:
Ich habe folgendes Problem:
Ich soll mit C++ ein kleines Programm zur Kommunikation vie Sockets schreiben. Mit perl war es nicht schwer. Mit C++ leider schon. Wieso kommt bei mir der Text vom Client beim Server nicht an? Sprich die Verbindung wird hergestellt, nur ankommen tut nichts.
Client:
Code:
// Clzwo.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <winsock.h>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
SOCKET sock;
WSADATA wsaData;
sockaddr_in addr;
char msg[100] = "Hallo Server!\n";
if(WSAStartup(MAKEWORD(2,0), &wsaData) != 0)
std::cout<<"WSA konnte nicht initialisiert werden.";
addr.sin_port = 4444;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("192.168.120.163");
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock == 0)
std::cout<<"Socket konnte nicht initialisiert werden";
if(connect(sock, (sockaddr *) &addr, sizeof(addr)) == -1)
std::cout<<"Verbindung konnte nicht hergestellt werden";
send(sock,msg,sizeof(msg),0);
closesocket(sock);
WSACleanup();
return 0;
}
Server:
Code:
// Clzwo.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <winsock.h>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
SOCKET sock;
WSADATA wsaData;
sockaddr_in addr;
int i=0;
char BUF[100]="\n";
if(WSAStartup(MAKEWORD(2,0), &wsaData) != 0)
std::cout<<"WSA konnte nicht initialisiert werden.";
addr.sin_port = 4444;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = INADDR_ANY;
int cli_size;
cli_size = sizeof(addr);
sock = socket(AF_INET, SOCK_STREAM, 0);
bind(sock,(sockaddr *) &addr, cli_size);
if(sock == 0)
std::cout<<"Socket konnte nicht initialisiert werden";
while(i<100000)
{
cout << i << endl;
if(listen(sock, 3) == -1)
{
// cerr << "Error, listen" << endl;
}
else
{
accept(sock,(sockaddr *) &addr, &cli_size );
recv(sock,BUF,sizeof(BUF),0);
cout << "Empfangen: "<< BUF <<endl;
}
i++;
Sleep(100);
}
closesocket(sock);
WSACleanup();
return 0;
}