Broadcast



  • Hallo,
    ich bins nochmal 😞

    Irgendwie bringe ich keine Broadcasts mehr hin...

    Sender:

    struct sockaddr_in AddrClient;
    	AddrClient.sin_family = AF_INET;
    	AddrClient.sin_port = htons(1119);
    	AddrClient .sin_addr.s_addr = htonl(INADDR_BROADCAST);
    	int i=0;
    	int SocketGetBroadcast=socket(AF_INET, SOCK_DGRAM, 0);
    	char o=1;
    	setsockopt(SocketGetBroadcast,SOL_SOCKET,SO_REUSEADDR,&o,sizeof(o));
    
    	char optval=1;
    	setsockopt(SocketGetBroadcast,SOL_SOCKET,SO_BROADCAST,&optval,sizeof(char));
    
    	int error1=GetLastError();
    
    	sendto(SocketGetBroadcast,GameName,100,0,(struct sockaddr*)&AddrClient,sizeof(AddrClient));
    

    Empfänger:

    closesocket(ServerSockListenBR);
    
    	struct sockaddr_in AddrServer;
    
    	AddrServer.sin_family = AF_INET;
    	AddrServer.sin_port = htons(1119);
    	AddrServer.sin_addr.s_addr = htons(INADDR_ANY);
    
    	ServerSockListenBR=socket(AF_INET, SOCK_DGRAM, 0);
    	char o=1;
    	setsockopt(ServerSockListenBR,SOL_SOCKET,SO_REUSEADDR,&o,sizeof(o));
    
    	bind(ServerSockListenBR, (struct sockaddr *) &AddrServer, sizeof(AddrServer));
    
    	int size=sizeof(AddrServer);
    
    int error2=GetLastError();
    
    		u_long i2 = 1;
    
    		int rc=0;
    
    		char _GameName[100];
    
    		rc=recvfrom(ServerSockListenBR,_GameName,100,0, (struct sockaddr *) &AddrServer, &size);
    

    Ich bekomme keine Feher mit GetLastError(), und wenn ich Server und Empfänger am selben PC starte klappt es auch...
    Aber übers Netzwerk geht's nicht... Eine Netzwerkverbindung besteht aber !

    Weiß jemand von euch, was da falsch sein könnte ?

    Vielen Dank schonmal 🙂



  • Aber übers Netzwerk geht's nicht... Eine Netzwerkverbindung besteht aber !

    Was für eine?
    Subnet Masken?
    Limited / Directed Broadcast?

    http://de.wikipedia.org/wiki/Broadcast

    Simon



  • Der Broadcast müsste mit "INADDR_BROADCAST" and 255.255.255.255 gehen...

    Früher hat es ja geklappt, aber entweder ich finde den richtigen Code nicht, oder derCode geht nicht mehr 😞

    Die Netzwerkverbindung ist ein Ethernet LAN-Kabel (192.168.0.XXX), aber überbrückt

    Die Netzwerkbrücke hat die Subnetzmaske 255.255.255.0, und die IP 192.168.0.1

    Meine Internetverbindung hat aber die Subnetzmaske 255.255.255.255, ist das ein Problem ?



  • Noch was, mir ist gerade aufgefallen, dass es scheinbar funktioniert, wenn ich mit XP auf Vista sende... Der von Vista auf XP kommt nicht an... 😮

    Woran könnte das liegen ? (Firewall auf beiden Rechnern aus)

    Oder wie könnte ich sonst die Server im (lokalen) Netzwerk finden ?


Anmelden zum Antworten