質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

2回答

837閲覧

マッチングするだけのサーバーは作成可能ですか?

teto727

総合スコア1

0グッド

0クリップ

投稿2020/09/12 17:37

タイトルの通りマッチングにのみ関与するサーバーは制作可能でしょうか。
今考えている流れとしては

1.clientがアプリを立ち上げ、サーバーに部屋を作るように要求(このときサーバーに自分のipアドレスと任意の部屋の名前のデータを渡す)

2.サーバーは受け取ったデータを保持する。

3.別のclient(以降はclient2とする)がサーバーに1.で作った部屋に入れるように要求(このときサーバーに自分のipアドレスと1.の部屋の名前のデータを渡す)

4.サーバーは部屋の名前が同じだった場合にclientにclient2のipアドレスを、client2にclientのipアドレスのデータを渡す

5.以降はclientとclient2が渡されたipアドレスを用いてデータのやりとりをする

という感じです。
私はおそらく制作可能だとにらんでいるのですが、どのようにサーバーやアプリをプログラミングするのかが全くわかりません。
何の言語が必要なのかもわかっていないので、もし制作可能であれば必要な知識、参考になりそうなサイトなど教えて頂けると幸いです。(質問者はpythonならある程度わかります)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hentaiman

2020/09/12 18:46

アプリとしてウェブブラウザを使うかネイティブなクライアントアプリを作るか決めた方がまだ回答がつきやすいでしょう。開発経験無いので自分は回答できませんが。 (検索に必要な知識(マッチングに必要な概念)ぐらいなら回答はできますが)
teto727

2020/09/13 09:25

ご指摘ありがとうございます。 ネイティブを想定しています。
guest

回答2

0

部屋っていうのが理解できませんが、チャットルームのようなイメージでしょうか?

一般的なメッセージ交換では、ログの保管が必要となるので、サーバを通じてのメッセージ交換となります。
そのため、既存のチャット系の仕組みはあまり参考にならないです。

質問のようなやり取りは、電話の世界では SIP と呼ばれ、ごく知られた方法です。
Session Initiation Protocol
これを参考に設計することは可能かと。

ただ、セキュリティとか考えだすと、かなり実装はしんどいと思います。

投稿2020/09/12 21:22

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

可能です。リアルタイムでマッチングさせるサーバーとしてオンラインゲームやランダムチャットアプリ等で、ごく一般的にあるものだと思います。

普通のTCP通信ができるならどの言語でも実装可能なので、Python でも作れるかと思います。
が、ユースケース的にマッチングは高性能を求められることが若干多いような気がするので、
実行効率の良い C系やRust、 GoやJava といった言語で作るのがメジャーではないでしょうか。

最近だとある程度処理がラップされている WebSocket を利用して、双方向通信させるのが良いのではないかと思いますmm
(もちろん要件によりますが

投稿2020/09/12 17:46

unhappychoice

総合スコア1531

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問