Stimmen Deine Werte für den Gateway? Ist Dein Router wirklich auf der .150 zu finden?
Gib mal den Rückgabewert von getHostByName() aus, ich denke, dass Du immer einen Wert ungleich 0 zurückbekommst, somit einen Fehler. Dass manchmal etwas anderes zurückkommt, liegt wahrscheinlich daran, dass die 4 Bytes der Adresse nicht initialisiert wurden und somit irgend einen Wert haben können.