忍者ブログ
6月18日設置
Posted by - 2024.11.19,Tue
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Posted by No Name Ninja - 2010.03.23,Tue

private List ReadRTP()
{

List list = new List();
Socket udpSocket = null;

try
{
/* Socket生成(UDP) */
// AddressFamily.InterNetwork : IP version 4 のアドレス
// SocketType.Dgram : データグラム
// ProtocolType.Udp : ユーザー データグラム プロトコル
udpSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);

/* マルチキャストアドレス、マルチキャストポートを指定 */
String targetIp = "239.168.0.80";
int targetPort = 6310;

/* ネットワークエンドポイント */
IPEndPoint localhostIpEnd = new IPEndPoint(IPAddress.Any, targetPort);

/* Socketオプション 受信タイムアウト(=1500ミリ秒) */
udpSocket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.ReceiveTimeout, 1500);

/* Socketオプション Nagleアルゴリズムを無効 */
udpSocket.SetSocketOption(SocketOptionLevel.Udp,
SocketOptionName.NoDelay, 1);

/* Socketオプション 使用済みアドレスにソケットのバインドを許可 */
udpSocket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.ReuseAddress, 1);

/* ネットワークエンドポイントをバインド */
udpSocket.Bind(localhostIpEnd);

/* マルチキャストグループに参加するIPAddressを指定 */
MulticastOption mcastOpt = new MulticastOption(IPAddress.Parse(targetIp));

/* Socketオプション IPグループメンバーシップを追加 */
udpSocket.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.AddMembership, mcastOpt);

/* ネットワークアドレス識別 */
EndPoint localEndPoint = (EndPoint)localhostIpEnd;

/* 受信 */
for (int i = 0; i < 400; i++)
{
byte[] recvByte = new byte[10000];
int byteReceived = udpSocket.ReceiveFrom(recvByte, ref localEndPoint);

byte[] tmpByte = new byte[byteReceived];
Array.Copy(recvByte, 0, tmpByte, 0, byteReceived);
list.Add(tmpByte);
}
}
catch (Exception ex)
{
logger.Error("ReadRTP:" + ex.Message);
throw new Exception();
}
finally
{
udpSocket.Close();
}
return list;
}


#UdpClientクラスを使っていたが、同一ポートを使いまわしできなかったので、
#Socketクラスを使うことにした
PR
Comments
Post a Comment
Name :
Title :
E-mail :
URL :
Comments :
Pass :   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
TrackBack URL
TrackBacks
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新コメント
[05/16 backlink service]
最新トラックバック
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
カウンター
アクセス解析
Template by mavericyard*
Powered by "Samurai Factory"
忍者ブログ [PR]