OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

UDP通信でのポート

  • すぐに回答を!
  • 質問No.222228
  • 閲覧数792
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

javaを使ってUDP通信を行います。

映像データと音声データの2つのデータが
あります。
以下のようなことは可能ですか?

(図の説明)AからBへデータを送信します。
Aのポートは1500番を使って映像データを
送信します。と同時に、同じ1500番を使って
音声データは送信できますか?
同一ポートで複数データを送信できるか知りたい
です。
(このままだと、いくつもポートをあけるため
データのタイムラグありすぎて使い物になりません。。

もしくは、1つのポートでデータの送受信が
できるか知りたいです。

なにかヒントになるようなことでもいいので
教えてください。よろしくお願いします。
 
 A ------------------------> B
(1500) 映像データ送信

 A ------------------------> B
(1500) 音声データ送信
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 37% (570/1525)

質問の趣旨が読み取れていないかもしれませんが… UDPは“基本的に”データグラムごとに通信を確立し切断します。 結果、1回の送信データグラム内に多種類のデータを詰め込む以外に多種類のデータを単一ポートで(同時に)送る手段は無いはずです。 また、送信と受信では別の通信単位になりますので、「1つのポートで(同一通信単位内で)データの送受信」という状況はありえません。 ...続きを読む
質問の趣旨が読み取れていないかもしれませんが…

UDPは“基本的に”データグラムごとに通信を確立し切断します。
結果、1回の送信データグラム内に多種類のデータを詰め込む以外に多種類のデータを単一ポートで(同時に)送る手段は無いはずです。

また、送信と受信では別の通信単位になりますので、「1つのポートで(同一通信単位内で)データの送受信」という状況はありえません。
補足コメント
noname#2205

回答ありがとうございます。

書き方が悪かったようです。
多種類のデータを単一ポートで送る手段を
質問しました。
同時に、というのは間違えました。
同時じゃなくていいです。
投稿日時 - 2002-02-22 11:12:21

  • 回答No.2
レベル13

ベストアンサー率 34% (574/1662)

同じポート自体は複数同時に使えませんから、 自分で区別がつくように情報を付加して送るしかないでしょうね。 例えば,一度に送るデータは1400バイトと決めておいて, 先頭に識別用のデータを追加して、それで音声データか 映像データか区別する。 但し、現状でタイムラグがありすぎて使えないなら、 さして変わらないように思いますが。 ポートが複数あろうが、一つであろうが物理的には 同じ所を伝 ...続きを読む
同じポート自体は複数同時に使えませんから、
自分で区別がつくように情報を付加して送るしかないでしょうね。

例えば,一度に送るデータは1400バイトと決めておいて,
先頭に識別用のデータを追加して、それで音声データか
映像データか区別する。

但し、現状でタイムラグがありすぎて使えないなら、
さして変わらないように思いますが。
ポートが複数あろうが、一つであろうが物理的には
同じ所を伝わるわけですし、厳密な意味での同時は不可能です。
同時という意味なら、別々なポートを使い、物理的に別な経路で送る方がはるかに近いですね。


具体的にどんなこと、どうやって実現しているのかわからないのでなんとも言えませんが・・・。
補足コメント
noname#2205

回答ありがとうございます。

すみません。同時、というのは間違えました。
単一ポートでの複数データの通信、という
ことを質問しました。

JMF APIを使ってやろうとしているのですが、
JMFの中の処理でセッションのオープン等は
やっているため、今ひとつ、どうやって
同じポートでデータの通信を行っていいのか
わかりません。。。
既存のサンプルを動かすと
最初に1500番ポートを使ってオープンし、
次にまたオープンをかけてしまうようなので
Can't openというエラーがでます。
が、Jarファイルであるため実装が明らかで
ないのです。
投稿日時 - 2002-02-22 11:14:22
  • 回答No.3
レベル13

ベストアンサー率 34% (574/1662)

>JMF APIを使ってやろうとしているのですが、 そういうことは最初にはっきりと書いた方がいいですよ。 とりあえず、 http://java.sun.com/products/java-media/jmf/2.1.1/apidocs/ 見てみましたが、何をどう使っているのか探すのが面倒なので止めました(^^; 実際に使った、サンプルや作ったソースを置いた方が回答も得やすいとお ...続きを読む
>JMF APIを使ってやろうとしているのですが、

そういうことは最初にはっきりと書いた方がいいですよ。

とりあえず、
http://java.sun.com/products/java-media/jmf/2.1.1/apidocs/
見てみましたが、何をどう使っているのか探すのが面倒なので止めました(^^;

実際に使った、サンプルや作ったソースを置いた方が回答も得やすいとおもいます。

ちなみに、私はJAVAはほとんど知りませんので、
あまり回答は期待できませんが(^^;;
UDPの問題ならわかるかと思って書いていたもので・・。
Cでなら何度も使ってますので。


>Jarファイルであるため実装が明らかで
>ないのです。
http://java.sun.com/products/java-media/jmf/index.html
には,JMFのソースがあるようです。
補足コメント
noname#2205

回答ありがとうございます。

>http://java.sun.com/products/javamedia/jmf/index.html
>には,JMFのソースがあるようです。

はい。しかし、実装してあるソースは
一部分だけでした。
(実装がないソースも多い。)

JMFに対しての情報量が極端にすくないですね。
Cだったら、こういったこと、
(映像、音声のデータ通信、テレビ会議システム

はできるんでしょうか?
また、通信速度、実際のクライアントでの
映像の表示速度についてはどうですか?
つなぐ台数にもよるのでしょうが。。。
もしよかったら教えてください。
投稿日時 - 2002-02-25 11:08:13
  • 回答No.4
レベル13

ベストアンサー率 34% (574/1662)

>Cだったら、こういったこと、 >(映像、音声のデータ通信、テレビ会議システム) >はできるんでしょうか? 多分、既存のシステムはどうせCかC++だろうとは思います。 >また、通信速度、実際のクライアントでの >映像の表示速度についてはどうですか? 通信速度の上限はすぐにわかりますから、 実際はそれより大幅に低くなることを考えて、 実際に転送可能なデータ ...続きを読む
>Cだったら、こういったこと、
>(映像、音声のデータ通信、テレビ会議システム)
>はできるんでしょうか?

多分、既存のシステムはどうせCかC++だろうとは思います。


>また、通信速度、実際のクライアントでの
>映像の表示速度についてはどうですか?

通信速度の上限はすぐにわかりますから、
実際はそれより大幅に低くなることを考えて、
実際に転送可能なデータを考えて、
それでなんとかすることを考えるでしょう。

また、UDPを使うならプロトコルのヘッダ等の
管理情報があるので、実際に送れるデータサイズについても考慮する必要がありますし。

まあ、実際はどうやって通信に必要なデータを小さくするかに尽きる気がします。

多分、こういう速度の限界に関わることを考えるなら、
IPパケットとかUDPパケットがどうなっているかとか、
Ethernetはどうやって通信しているかとか
そういった知識がないと難しいかも知れません。

当然、速度を考える場合は通信経路として何を想定しているかにも関わってきますが。

具体的に何をしようとしているのかわかりませんので、
この程度の話が限度です。
まあ、これ以上難しい話ができるかどうかは不明です(笑)
ボロがでそう。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ