Helyzet a következő:
adott 1 solaris (5.9) meg egy win2k3. Az utóbbin fut egy alkalmazás, mely nyit egy portot, ahol adatot vár. Irtunk rá egy rém 1szerű kis klienst, ami bekonnektál, és ha van mit küldeni, azt küldi. Eddig ok.
A probléma az, hogy néha valami történik, a kliens (solaris) oldalon a session leszakad (time_wait). Ez nem lenne baj, mert úgy van megírva, hogy ha leszakadt (nem sikerül a send), akkor új socket(), új connect(), mehet a mulatság. Ez párszor meg is történik, de egyszer csak a connect() "connection refused" hibával elhullik, holott pl egy shellből szépen rá lehet telnetelni (ja: tcp).
Ez konkrétan a második eset ezzel az alkalmazással. Az előző esetben ezt úgy barkácsoltuk meg, hogy 5 percenként lezárja, majd újranyitja a kliens a kapcsolatot. Ezzel elég jó eredmnyt sikerült elérni, mert 1-2 havonta 1-2szer döglik meg a dolog. Ebben az esetben WinXP volt a szerver.
A kliens nem bugos (legalábbis ezen a szinten nem), mert amúgy megy szépen. Az 5perces close-socket-connect megoldás itt valami miatt nem játszik, nem tünteti el a problémát. Másik unix-on nem próbáltam, de nem is akarom: nem az a cél.
Látott már valaki ilyet? (1et tudok, de nem tudott rájönni ő sem. Mellettem ül a gyárban :)