Daten Senden - Daten Empfangen. Welche IP? Welcher Port?
-
Hi!
Ich habe die Aufgabe zwei kleine Programme zu schreiben. Das eine soll Daten senden, dass andere Daten empfangen. Ganz einfach, ohne Schnick Schnack.
In der Uni hats soweit funktioniert und nun wollte ich es zu Hause mal ausprobieren.
Hier der Empfänger:
s = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); addr.sin_family = AF_INET; addr.sin_addr.s_addr = ADDR_ANY; addr.sin_port = htons(554); rc = bind( s, (struct sockaddr*)&addr, sizeof(addr) ); if(rc < 0) { printf("bind failed\n"); return -1; }
Hier der Sender:
s = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_port = htons(554); rc = connect( s, (struct sockaddr*)&addr, sizeof(addr) ); if(rc < 0) { printf("connect failed\n"); return -1; }
Ich glaube dies sind die relevanten Stellen.
Und nun das Problem:
Der Empfänger wartet auf Daten. Soweit so gut?!
Der Sender gibt jedoch "connection failed" zurück. Also funktioniert das connect nicht. Die IP und der Port sind die aus der Uni. Nun muss ich wohl andere nehmen.Nur welche und wie finde ich das raus?
Ich arbeite unter Linux.
Vielen Dank!
-
Die IP ist in Ordnung. Das ist localhost
Probier mal einen Port über 1024 aus.
Bis 1023 sind die Ports fürs System reserviert, ausserdem gehört 554 zu den Well known Ports
-
Vielen Dank! Funktioniert einwandfrei.