usakdsteen

ゆうさくですてぃーん

2022年08月04日(Thu)の独り言

の呟きは 40

 < の独り言 | の独り言 | の独り言 > 
  •  #

    https://tonarinoyj.jp/episode/3270375685396151729

    へぇ・・・こういう形で終わらせるのか・・・

  •  #

    うーん、強敵の魔勇者アンルシア、
    なんか弱すぎる気がするし
    強くなる方向に修正が入るんじゃないのかな・・・

    •  #

      それともレベル高いほうだと結構強かったりするのだろうか・・・
      現在レベル11だが・・・

      •  #

        ん、レベル12は強かった

        •  #

          レベル13は厳しそう

          •  #

            4人パーティだったらそんなでもないんだけど
            1人パーティだと
            呪文攻撃が全集中で、無理

            •  #

              ミラーシールドとかで1発分回避して助っ人に倒してもらう作戦とかなら・・・?
              3撃中1撃は通常攻撃ぽいので逆鱗カウンターは期待できるし・・・?

  •  #

    二段になったお

    https://tenhou.net/0/?log=2022080400gm-0099-0000-2ccdd6d6&tw=2

    f:id:neetsdkasu:20220804013725p:plainf:id:neetsdkasu:20220804013738p:plain
    •  (UPD ) #

      トップ率低くラス率高いので
      上の段位へ上がるのは厳しい

      •  #

        てゆーか
        麻雀、点数計算どころか役の計算すら忘れた

  •  #

    イベントスポットの鬼のやつ、強い・・・

    •  #

      勝てんわ・・・

    •  #

      近場イベントスポットの復活
      何時間ごとなんだろう

  •  #

    wifiダイレクト
    表示確認までできた

    •  #

      スマホ(アンドロのバージョン?)によってNetworkInfoやWifiP2pDeviceのtoStringしたときの情報量が違うぽい

      •  #

        いずれにせよ
        情報量多いので
        そのまま表示は、辛い

    •  #

      それと今日はなんかwifiダイレクトが安定してた

  •  #

    WifiP2pManager.ActionListenerとやら
    あちらこちらで使われるし
    個別クラスとして実装しないで
    無名クラスとして実装するのがいいのか・・・

    •  #

      見た感じが好きじゃないんだが
      無名クラス

  •  #

    BroadcastReceiver.onReceiveにWifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTIONの通知が来たら
    インテントのWifiP2pManager.EXTRA_WIFI_STATE情報にWifiP2pManager.WIFI_P2P_STATE_ENABLEDであるか確認し
    WifiP2pManager.WIFI_P2P_STATE_ENABLEDならdiscoverPeersできるようにしとく

    次に
    WifiP2pManager.discoverPeers で近くにPeerがあるか探すよう要求

    次に
    BroadcastReceiver.onReceiveにWifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTIONの通知が来たら
    WifiP2pManager.requestPeersで探した結果である
    Peerのリストを要求する

    次に
    そのPeerのリストから接続したいPeerを選んでおく

    次に
    WifiP2pManager.connectで選んだPeerと接続を試みる

    次に
    BroadcastReceiver.onReceiveにWifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTIONの通知が来る
    インテントのWifiP2pManager.EXTRA_NETWORK_INFOでPeerと接続したか切断したかの情報を得る
    接続したら
    WifiP2pManager.requestConnectionInfoで接続の情報を取得する

    ConnectionInfoListener.onConnectionInfoAvailableに接続の情報が届く
    WifiDirect(WifiP2P)で形成されたグループの情報が来るので
    グループオーナーになったならサーバーを起動、
    そうでないならクライアントを起動


    切断は
    WifiP2pManager.removeGroupでグループから抜けるという感じで行うぽい


    •  #

      おそらく、一方から接続要求くるとWIFI_P2P_CONNECTION_CHANGED_ACTIONが通知される・・・?

      •  #

        接続要求の許可・非許可ってどう・・・?

    •  #

      通信はソケットを用いて行うぽい・・・?

      通信はオーナーのIPアドレス
      事前に決めたポート番号を使って行われる・・?

      •  #

        ソケット通信、やりかたがわからぬ

        •  #

          getInputStreamはデータが来るまでブロックするわけでは無さそう・・・ぽい?

        •  #

          クライアントが要求して、サーバーが応答する
          の繰り返しならいいのだけど

          サーバー側からクライアントへ要求したい場合が不明

          定期的にクライアントがサーバーからの要求があるかどうかをチェックする・・・なんて実装じゃないだろうな・・・?

          •  #

            どっこがP2Pやねん

            •  #

              P2Pとは
              Peer to Peer
              つまり
              スマホA -> スマホB
              を指すのであり
              一般的なネットワークサービスでは
              スマホA -> サーバーX -> スマホB
              という経路

              つまり、P2Pとは経路を意味する言葉であり

  •  (UPD ) #

    OK
    適当にググって出てくるP2Pの説明してる日本語文書どもは、ウンコ

    P2Pは全てのノードがサーバーかつクライアントの役割を満たすように設計されるという話であり

    雑多な日本語情報だとそう説明されてない
    P2Pの世界からサーバーの役割が消えてなくなる
    意味不明すぎた


    •  #

      (omitted)

    •  #

      (omitted)

    •  #

      (omitted)

    •  #

      P2Pは経路を表す言葉

      •  #

        経路中にサーバーを中継せずに
        クライアント(?)同士で繋がれるという意味だけ

    •  #

      日本語情報だとサーバーの話が消えるのは
      通信経路の話をしているから
      サーバーマシンを介しないことから
      サーバーの話が消えてるのだと思われる

      •  #

        俺が見た日本語情報の多くは
        PeerとPeerが実際にどのような通信をするかに触れてないだけぽい

  •  #

    さて、
    WifiDirect、P2Pで通信する際には
    サーバー側とクライアント側で役割分担が発生するは分かったが

    交互通信ではなく
    任意タイミングでデータ送信可能にするにはどうしたらいいのだろうか

    •  #

      クライアントもサーバーもソケットに受信したデータのバッファがあるかどうかを定期的に確認する
      or
      クライアント側が定期的にサーバーに状況を確認する

      の2つのプランが予想されるが

      •  #

        普通にサーバーからクライアントへの送信ができるぽそうに見える
        どうやってるのだろう・・・

        https://atmarkit.itmedia.co.jp/ait/articles/1604/27/news026_2.html

      •  #

        ギットハブにあったCで書かれた雑なチャットのクライアント・サーバーのソースコード見てみたけど
        受信待ちのブロックが出来る・・・??

      •  #

        ネットワークからの入力待ちはブロックできるっぽい・・・?

        それなら別スレッドで待機させればいいだけか

        •  (UPD ) #

          ブロックできないなら定期的な処理が必要だけど
          ブロックできるなら別スレッドに放置で十分じゃん

          •  #

            OK,OK

            相互通信、作れそうな気がしてきた(気がするだけで、作れるとは言っていない

 < の独り言 | の独り言 | の独り言 >