« 昼食 | メイン | PileusがMSN毎日インタラクティブに掲載されました »

2007年07月07日

C# - SkypeAPIとの対話コンソール作った [Programming&Electronics][Technology]

SkypeAPIのコマンドをそのまま使える対話式コンソールを作った。

Skype4COMやSkypeXを使ってもWindowsアプリからSkypeを操作する事が出来るけど、なんかSkype4COMだとメッセージの返り値を受け取れなかった(俺のせい?)ので、自分で作った。

といってもほとんど完成してるコードを継承してGUIかぶせただけだけど。

Source Code & exe (Visual Studio 2005 C#2.0)

SkypeAPIControlPanel\bin\Release の中の「SkypeAPIControlPanel.exe」から起動できる。
なお、中に入っているSkypeBridge.csはSkype API Book Vol.1の17章に掲載されていたもので、ここからダウンロードもできる。

このアプリはSkypeBridge.csを継承してインタフェース部分を実装したもの。


起動すると実行の許可を求められるので、「許可」して「OK」する
SkypeAPI Dialogue

これがコンソールの画面。試しに「CALL echo123」と打ってみると、通話テストに電話をかける事が出来る(echo123は通話テストのユーザ名)
Skype API ControlPanel
Docs/ApiDoc - Skype Developer Zoneにあるコマンドを適当に試してみよう。
GET USERSTATUS とか。

んで、SkypeA2AというSkype上のP2Pフレームワークがあるのでそれを試してみた。これは↑のスクリーンショットが送った「zanmaizanmai!!」というテキストを別のマシンで起動したSkypeAPIで受け取ったところ。ベンチマークはしてないけどレスポンスがなかなか良かった気がするので楽しみだ。
Skype API ControlPanel

■A2A Stream接続手順
まず両方のPCでSkypeAPIに

CREATE APPLICATION test
を実行

次にどちらからでもいいので

ALTER APPLICATION test CONNECT 相手のユーザ名
すると、Stream(TCPみたいなもの)で接続される。

送信と受信。

ALTER APPLICATION test WRITE 相手のユーザ名:ID 送信するテキスト
ALTER APPLICATION test READ 相手のユーザ名:ID
受信は、受信したバイト数が通知されるので、READコマンドで読み出してやる必要がある。

終わったら切断する。

ALTER APPLICATION test DISCONNECT 相手のユーザ名:ID

関連:
s.h.log: C# - Skype4COMでコンタクトリストの相手にコールする
Docs/Skype4COM - Skype Developer Zone

投稿者 sho : 2007年07月07日 00:00

トラックバック

このエントリーのトラックバックURL:
http://web.sfc.keio.ac.jp/~shokai/cgi-bin/mt/mt-tb.cgi/1457

コメント

コメントしてください




保存しますか?