• 締切済み

AWSを使ってチャットアプリを作りたいのですが・・

AWSのDynamoDBを利用してiPhoneのチャットアプリケーションを作りたいと思っています。単にDBの中身を更新、読み込みをするだけなら何とかなると思いますが、チャットアプリなのでリアルタイム通信で利用するべきだと考えました。つまり、ボタンなどを押してメッセージを更新するのではなくサーバーがメッセージを受け取ったらアプリ側に自動的にメッセージが更新される仕組みを作りたいです。 WebSocketというiOSでもライブラリが用意されているものが使えると思ったのですが、サンプルコードを探してもローカルホストのサーバーにつなげるものしか見つかりませんでした。 SRWebSocket *socket= [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:url]]; urlの部分にローカルサーバーのURLが当てはまるわけですが、これをAWSでどう活用すればいいか分かりません。ぜひわかる方がいれば教えていただけないでしょうか。

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5076/13258)
回答No.2

AWSのマネジメントコンソールでは無く、貴方が作成したインスタンスのURLを設定しなければいけません。

nylonraw999
質問者

補足

amazonEC2でインスタンスを作成しURLからapacheをインストールしてウェブサーバーを構築するところまでできたのですが、このあとどうすればいいのかまったくわかりません。 なにか参考になるサイトでもあればいいのですが・・・。

  • t_ohta
  • ベストアンサー率38% (5076/13258)
回答No.1

URLの部分にAWSのサーバのURLを書けば使えます。 サンプルコードと言うのは、通常開発者がテストしやすいようローカル環境で使用するイメージで書かれている事が多いです。 自分が使用する環境に合わせて読み替えて使用しましょう。

nylonraw999
質問者

補足

https://console.aws.amazon.com/dynamodb/home~ ↑で始まるURLで一応試しましたがこれはさすがに違うと感じました。 このURLでは別のPCからアクセスするとAWSのサインイン画面になりますし・・・。 DBの中身をリアルタイム通信で接続するのは無理なんでしょうか・・・。

関連するQ&A

  • スマホでチャットアプリが作りたいのですが

    スマホアプリ制作初心者ですが簡単なリアルタイムチャットアプリケーションを制作したいと思っています。 バックエンドはNode.js、AWSでの運用を考えています。 Phonegap/ Cordova アプリカンな調べましたが、基礎知識が浅くなにが最適かわかりません。 このようなケースでアプリ化する場合、おすすめライブラリやツールがあれば教えて頂けますでしょうか。

  • チャットするためのサーバーについて

    チャットのiPhoneアプリを作ろうとサーバーについていろいろ調べています。 中でも一番多かったのがnode.jsだったのですが、参考サイトではどれもローカルサーバーの構築の方法しか載っていませんでした。 自分の作りたいのは誰でも自由に部屋を建てられて、必要なのはハンドルネームのみの数百人で使用可能なチャットアプリです。 ただ不安なのが、私個人が運営するサーバーで大人数の同時利用に対応できるのか。 理想としてはhttp://drrrchat.com/のようなチャットアプリです。 ローカルでなく、全国ネットワークでチャットできるサーバーを構築するにはどうすればいいか、参考サイトや書籍など他にも教えていただけることがあれば助かります。

  • チャットってどうなっているのですか?

    ものすごい初歩的な質問ですが、チャットってのは、 メッセージを相手とリアルタイムに やりとりすることですよね? その仕組みなんですが、どうなっているのでしょうか? というのも、自分もホームページを持っているのですが、 サーバからホームページで運用する チャットスペースを借りました。 機能的な面では既に完成済みで、あとは文字などを 入れてしまえばいいのですが、チャットのページを 公開したときに、どのようにして利用するのですか? よく見るのは、例えば、毎週日曜日午後9時から チャットを開いていますなどの表示ですが、 指定した日時に、管理者がログインしていないと だめなのですか?(利用者だけでは) それとも、単に利用者の誰か2人以上が、 ログインしていればそれで成立するのですか? また、利用者と管理者とのやりとりになるのですか? 質問が大変わかりづらいのですが、教えてください。 何だかよくわからないのですが、よろしくお願いします。

  • javaでのチャットシステムの構築について

    プログラマーとしての勤務経験はなく、 素人ながらに 最近プログラムの勉強とwebアプリ製作っぽいものを試しているんですが javaのサーブレット?でのリアルタイムの チャットシステムの構築というのはできるの でしょうか? 「多くの人間が各自のPCでランダムに発言したものが 即時に各自のPCに表示されるような形のもの」を作ろうと思っています。 jspとデータベースを利用した飲食店のレビュー投稿システムの 原型みたいなものは試しに作ってみたことがあります。 しかしjspだとjavaとhtmlが混ざってソースコードが見づらいため今回のチャットシステムの製作にあたっては サーブレットにしてスッキリ分離しようと思ってます コメントなどはデータベースにも格納しようと思ってます 少しネットで検索したところajaxやコメットやwebsocketというような 技術たちを利用すればチャットシステムが作れるようなんですが この3つだとどれを利用して製作したほうがいいのでしょうか? いじってみた言語がjavaの経験しかなく javascriptの知識も必須になってくるらしいのですが なるべくjavaだけでやれたらいいかなと思っています いろいろとつたない質問だとは思うのですが 是非なにかアドバイスを頂けると嬉しいです。

  • GoogleMapをリアルタイムに更新

    データベース(MySQL)に更新があった場合、GoogleMap上にリアルタイムにマーカーを表示させたいと考えています。 現在、XMLファイルの読み込みライブラリー downloadxml.js を利用し、PHPのXMLファイルを読み込んで実装しています。 調査していくと、リアルタイムに更新を行うには、ajaxを利用することがわかりました。 そのため 、jQuery のJavaScriptライブラリーを利用してPHPのXMLファイルを読み込む形になるのか、と思っているのですが、データベースに更新があった場合にリアルタイムにGoogleMapを更新させるには、どちらの読み込みで行うとよろしいのでしょうか? またリアルタイム更新には、cometという技術を使う必要があるということを調査して分かったのですが、具体的なソースコードが出ているページなど詳しい説明が載っているページがあれば、教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • Amazon AWSでのライブラリのインストール?

    ご覧になっていただきありがとうございます。 初心者が手を出すなと言われても仕方のない質問ではありますが、お分かりの方いらっしゃいましたら是非ご回答いただければと思います。 表題の通りAmazonのAWSを使いpython3 で動くソースコードがあり追加しないといけないものが何点かあるようです。 websocket json pandas datetime time pybitflyer collections このうち下記のもの以外は追加できたと認識しております。 json time collections 問題ないと思われるのは下記の3つ ec2-user:~/environment $ sudo pip install websocket ec2-user:~/environment $ sudo pip install pandas ec2-user:~/environment $ sudo pip install datetime  と入力しましたらメーターの様なものがでてきて100%と表示されたので問題ないかと思ってます。 pybitflyerは下記のようなメッセージがでました。 ec2-user:~/environment $ sudo pip install pybitflyer Collecting pybitflyer Downloading https://files.pythonhosted.org/packages/12/e8/795b8b7603ea439312b95c95891a9f1a65c4c49296ce2f7ac2a79ebe5564/pybitflyer-0.1.9.tar.gz Requirement already satisfied: requests in /usr/local/lib/python3.6/site-packages (from pybitflyer) Requirement already satisfied: urllib3<1.24,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests->pybitflyer) Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests->pybitflyer) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests->pybitflyer) Requirement already satisfied: idna<2.8,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests->pybitflyer) Installing collected packages: pybitflyer Running setup.py install for pybitflyer ... done Successfully installed pybitflyer-0.1.9 You are using pip version 9.0.3, however version 18.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command. 本当に申し訳ないのですが、ライブラリの追加コマンドをお教えいただけませんでしょうか? 皆様、宜しくお願い致します。

  • Perl JavaScript ページ自動更新

    困っております・・・;; お助けを・・・ 目的・・・ Perlによる掲示版を設置しており 複数のユーザーが見ている中でも、誰かが 投稿すれば自動的に更新させたいのですが どのようにするのでしょうか? 1、リアルタイムチャット的なものにしたいです 現在・・・ 現在は、擬似的に <script type='text/javascript'> (function(){ var t = setInterval(function(){ location.reload(true); }, 10000); })(); </script> このように10秒毎に、ページ更新 をし、 書込部分→write.cgi 表示部分→bbs.cgi と分けており、表示部分を、Iframeにて 表示させ、書込途中でも、影響がないように しました。 しかし、 これではリアルタイムではなく、 10秒毎に更新し続けるので、ユーザーが多い場合、 サーバー様に負荷をかけてしまいそうです・・・ さらに、更新されるたびに上へと、戻ってしまうので、閲覧中 であれば、不快に感じることも・・・ 色々調べてはみているのですが、 Push通知、Socket.i.o、Comet、Ajax、Websocket ポーリング、ロングポーリング、ストリーミング等といったことが 目的を果たせそうなのですが、 いずれも、使いかたがわからず、実行できておりません。 今参考にしているのは http://engineer.recruit-lifestyle.co.jp/techblog/2015-07-29-node4/ このページ・・・ しかし、うまく実行できません

    • 締切済み
    • CGI
  • Appletで動作するチャットソフト(ポーリング方式以外)を作りたいで

    Appletで動作するチャットソフト(ポーリング方式以外)を作りたいです。 趣味でJavaをやっている素人ですが、最近色気を出してApplet等に手を出しています。 過去、LAN上で動作するチャットソフトを作っています。(クライアント+サーバー) 同一のLAN上で動作させ、クライアントからサーバーに向けて、 入力されたメッセージや、サーバーになんらかの振る舞いをさせる為の特別な意味を持ったコードを送ったりと言った形でやり取りをする仕様です。 クライアントがサーバーの蓄えているメッセージを取得するのも、データをくれという意味のコードを定期的にサーバーに向けて発行して実現していました。 いわゆるポーリング方式の部類の実装なのかなと思います。 尚、実装にはSocketを使用していました。プロトコルはTCPです。 これが大体今から約5年程前の事です。 今回、これを発展させて2つの目標を達成したいと思っています。 1つ目に、データの取得方法を改善する為に、クライアント⇔サーバー間のやり取りをポーリング以外の方法に切り替えたいです。 具体的にどんな方式が良いかと言うと、サーバーが更新されたタイミングで最新のデータを全クライアントに向けて発信する様な感じにしたいです。 2つ目は、上記の改良を行った上で、アプリケーションをAppletで動作する様にしたいです。 これまでLAN上でのみ動作していたチャットを、公共で使用可能なチャットにしたいです。 他、要件としましては、ピュアjavaである事、標準ライブラリのみ使用する事、軽量を第一としているのでサーバー、クライアント共にポートの開放とJREの導入以外に特別な環境を要求しない事ぐらいです。 色々と調査していますが、なかなか難航していますのでお助け下さい。 また、とっかかりになるようなHPがあれば、教えいただきたいです。 宜しくお願いします。

    • ベストアンサー
    • Java
  • よいスマホやアプリ、その他を教えてください

    ガラケーから乗り換えできません。 auですが、家族間で所在地確認アプリを使ったり、カーナビの カロッツェリアのリアルタイム情報更新を利用しています。 これらサービスが使えなくなるのが残念なのですが、代わりに なるようなものはあるでしょうか。

    • ベストアンサー
    • au
  • AutoCAD 360アプリについて

    AutoCAD 360というAndroid/iOS対応のアプリがあるようですが、調べてみたら ファイルはAutodeskのサーバ上に保存? そして閲覧・編集するにはファイルが置かれているサーバ上にアクセスしないと利用出来ないようですが本当ですか? PCで作った図面をAndroid端末に保存しておいて、そのファイルをローカルストレージから直接開けないってことなのでしょうか? ファイルを開くたびにサーバ上のファイルにアクセスして開く仕様だとすれば、 MVNOなどモバイル回線だと通信量も発生しますしセキュリティ的にも非常に厳しですし、そもそもネットに繋がってないと利用出来ないアプリなら非常に厳しいのですが 実際はどうなのでしょうか? AutoCAD 360 pro というのもあるようでネットに繋がずローカルで開き作業出来るなら購入しようかと思います。 お分かりの方がいましたら宜しくお願いします。

専門家に質問してみよう