UDP - Port unreachable

12/05/2010 - 13:13 von Curtis Newton | Report spam
Hallo,

ich sende von einem Clienten was per UDP an einen Server. Phànomen ist,
dass ich bei einem erstmaligen Start des Clienten immer per ICMP "port
unreachable" zurückbekomme (geschaut mit wireshark). Das soll ja wohl
heißen, dass auf der Gegenseite nichts an den Port, an den ich sende,
lauscht. Starte ich den Clienten aber gleich danach nochmal, klappt
alles. Was kann das sein?

Den Server starte ich so (ohne Fehlerchecks etc):

_socket=socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);

struct sockaddr_in addr;
memset((char*) &(addr),0, sizeof((addr)));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(port);

if ( (interfaceIp != 0) &&
( interfaceIp != 0x100007f ) )
{
addr.sin_addr.s_addr = htonl(interfaceIp);
}

bind( _socket, (struct sockaddr*)&addr, sizeof(addr));

struct sockaddr_in from;
int fromLen = sizeof(from);

*len = recvfrom(_socket,
buf,
originalSize,
0,
(struct sockaddr *)&from,
(socklen_t*)&fromLen);

Bye
 

Lesen sie die antworten

#1 Curtis Newton
12/05/2010 - 13:33 | Warnen spam
Am Wed, 12 May 2010 13:13:20 +0200 schrieb Curtis Newton:

Clienten was per UDP an einen Server



Nachtrag:
Wenn ich 20x sende (wenn der Client lànger nicht lief), kommt die erste
Sendung beim Server an und ich erhalte eine Antwort. Auf alle weiteren
Versuche sendet der Server zum Clienten:

25 261.476702 192.168.174.50 192.168.174.128 ICMP Destination unreachable (Port unreachable)

Danch klappt es beim nàchsten Start fast immer, heißt alle 20 Sendungen kommen beim Server an.
Bye

Ähnliche fragen