Új hozzászólás Aktív témák

  • Gregorius

    őstag

    válasz bpx #1626 üzenetére

    azt szeretném észlelni, amikor meghal egy kliens, hogy a másik játékos ne csak üljön és várjon a semmire, hanem tudjam jelezni neki
    Ezzel a problémával az elmúlt fél évben én is szembesültem, sajnos erre nincs univerzális megoldás. Saját magadnak kell valamilyen keepalive megoldást implementálni. Akár úgy, hogy egy extra metódushívást beleiktatsz a kontraktba, ami periodikusan küld egy dummy üzenetet, akár úgy, hogy a csatornához fejlesztesz hozzá egy nagy adag saját extension-t. Bizonyos esetekben (pl. basicHttpBinding) a csatorna állapotmentes, tehát elvileg sem észlelhető, hogy a kliens jobb létre szenderült, mert a holtidőben semmilyen kapcsolat nincs.

    A kódhoz kellene még a konfig is. Nagyon sok mindent jobbá lehet tenni vagy katasztrofálisan el lehet rontani egy WCF szolgáltatás konfigurációjával.

    Az mindenesetre már látszik, hogy ha void aszinkron hívásokat akarsz csinálni, akkor ajánlott az interfészen az OperationContract-ban megjelölni IsOneWay=true-ként és akkor nem kell külön szálat indítani minden ilyen híváshoz.

    [ Szerkesztve ]

Új hozzászólás Aktív témák