| < 2007年2月 > | ||||||
|---|---|---|---|---|---|---|
| 28 | 29 | 30 | 31 | 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 | 1 | 2 | 3 |
次の日記: 2007/02/24 02:48 [塵も積もれば]
| < 2007年2月 > | ||||||
|---|---|---|---|---|---|---|
| 28 | 29 | 30 | 31 | 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 | 1 | 2 | 3 |
延々と調整を続けております。
とりあえず、liveice を改良して、Unicode な ID3v2 ヘッダを読めるように直して、UTF-8 で吐かせてみた。icecast 側は無事認識。iTunes はスルー。しかしたまたま、お隣の人が接続してみたらなぜか(文字化けしてるけど)曲名が出るという。さてこれはどういうことか。
延々と延々と tcpdump と ethereal を使ってパケットをキャプチャするものの、自分の環境との違いが出ない。そもそも私の環境でも、ほかのひとのストリームを聞いてて曲名がちゃんと出たことがある。そうすると、設定や iTunes のバージョンのせいではないことになる。
そしてさらに延々と調べた結果。tcpdump のフィルタに tcp port xxxxx と書いていたけど、実は UDP でストリームの情報が横流しされていたらしい。一歩前進。
さて、ここでさらに調べてみるとですね、インターネットオプションのプロキシ設定を完全に殺すと、なんと曲名が表示される。そのときサーバに送信されたヘッダはつきのとおり。
GET / HTTP/1.1
Accept: */*
Cache-Control: no-cache
User-Agent: iTunes/7.0.1 (Windows; N)
x-audiocast-udpport: 2955
icy-metadata: 1
Host: silky.white-void.net:xxxxx
Connection: Close
x-audiocast-udpport で、iTunes が UDP ポートを指定してますね。次はプロキシ設定はオン、ただし、プロキシを使用しないアドレスに silky.white-void.net がある場合。当然ですが、ちゃんと silky に直接接続されていました。
GET / HTTP/1.1
Accept: */*
Cache-Control: no-cache
User-Agent: iTunes/7.0.1 (Windows; N)
Connection: Close
Host: silky.white-void.net:xxxxx
見事ですね。きれいさっぱり、2 つほどヘッダが消え去ってくれてます。つまり、プロキシが設定されていると、プロキシを使用しないアドレスに入っていたとしても、曲名の更新情報を受け取れない、となります。
でも、そうするとこの前曲名が出たのはなんだったんだろう…??
<Trackback URI> http://linkage.white-void.net/cgi/tb.cgi/diary/2007022201
コメントフォーム