6

これは私が取っているプログラミングクラスのためのものです。C++ の高度な知識があるという前提条件を満たしています。

明確にするために: これは、デスクトップ アプリケーションのバックエンドではありません。Web サイトでは、ビデオ チャット、ファイル送信、テキスト チャットをすべてブラウザで実行できます。

そのため、Web開発の経験はありません。私は以前に PHP で遊んだことがあり、JavaScript の本を読んだことがあり、それらを快適に使用できると感じています。MySQL とは何か、テーブルなどの設定方法は知っています。

次の 8 週間で行う必要があるのは、次のとおりです。

  • ビデオチャットを機能させる (2 人間)
  • ログインページがあり、各ユーザーにはプロフィールと連絡先リストがあります
  • テキストチャット(2人間)
  • ファイル共有 (2 人間)

これを達成するために何を使用すればよいかわかりません。いくつかのアイデアはありますが、実際に機能するかどうかはわかりません。私は、オープンソースのライブラリ、プログラム、コードなどを使用して、この Web アプリケーションを構築することを許可されています。

誰かが私を正しい方向に導くことができれば、これらの機能をどのように実装すべきかを提案していただければ幸いです。

また、グーグルでこのようなことを行う方法を調べていると、CakePHP と呼ばれるものが見つかりました。これを使うことをお勧めしますか?もしそうなら、正確に何をするためにそれを使うべきですか?

4

2 に答える 2

8

あなたはたくさんのコーヒーが必要になるでしょう!

Skype は、ピア ツー ピアおよびクライアント/サーバー方式のハイブリッド アーキテクチャを使用してデータを取得します。これが内部 LAN でのみ実行される場合は、中間のサーバーについて心配する必要はなく、ピアツーピア接続のセットアップだけに集中できます。

コンピューターが NAT と呼ばれるものによってルーターによって隠されている現実の世界では、Skype はサーバーを使用してログインし、NAT を介して開いているポートを設定します。次に、Skype がこの情報を他のピアに送信し、そこからピアツーピア接続が実行されます。

内部ネットワークでは、開いている UDP ポートを介して他のユーザーと通信できます。Skype は TCP とは対照的にこれを使用し、インターネット上の他の通信の多くはこれに依存しています。基本的に、信頼できる配信は得られず、両端のアプリケーションはこれに適応します。(つまり、パケットが失われたり破壊されたりすると、ビデオが一瞬フリーズします)

              SKYPE SERVER
                 /    \
                /      \
               /        \
              /          \
        PEER 1 --------- PEER 2

ネットワークを介して実行する方法を理解したら、Windows Image Acquisition API を学習する必要があります。これは、Web カメラを操作して静止画像を取得する標準的な方法です。この写真を連続で撮ってビンゴ!ネットワーク経由で送信するヒルビリー ビデオ ストリームがあります。

MySQL は、ログインおよび連絡先データベースを処理するために、PHP で公開された SOAP Web サービスとうまく連携すると思います...

なぜこれを Web アプリケーションと呼ぶのですか? Web ブラウザー内で実行されますか? それは単なるネットワークアプリケーションですよね?

もう 1 つアドバイスがあります... これを C# またはその他の .NET 言語でプログラミングすると、より多くのコントロールを使用できるため、役立つ場合があります。たとえば、ビデオ ストリームをアプリケーションに簡単にパイプする WIA コントロールがあります。

于 2012-01-26T05:44:46.420 に答える
0

これらのリンクが役立つと思います。

http://www.codeproject.com/aspnet/webcamimage.asp
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1339&lngWId=10

また、UDP 接続を使用し
、ヘッダーのような単純なプロト
を開発することをお勧めします。たとえば、ヘッダー 0x01 は、次が
フレーム構造 (ビデオの Web ストリーミング) になるメッセージ構造 0x02 であることを意味します。

于 2012-01-26T05:35:14.543 に答える