ページ 11

ボイスチャット向きのプロトコルの実装について

Posted: 2011年5月25日(水) 22:46
by shiro4ao
Windowsにてボイスチャットを作成しています
UDPで通信していましたが、発言が入れ替わったり、
同じ発言が繰り返されたりする不具合が起こりました。

RTPについて調べいていたのですが、なかなか実装するのが難しそうなので
UDPでつくってパケットの頭にシーケンス番号を振ろう、と考えました。

転送速度の問題か、かなり遅れて届くことがあったので、速度維持のために
アプリケーション層より下でパケットを管理して、アプリケーション層にちゃんと届けてもらう
ようにしたいのですが、Winsock しか扱ったことがないため、作り方がさっぱりわかりません。

Winsockが実際に呼んでいる、トランスポートサービスプロバイダ(mswsock.dll)
に対してDLLインジェクションを仕掛けるのでしょうか…?

アプリケーション層より下位の層での通信の具体的な実装方法がわかりませんでした。
ご解答いただければ幸いです。

Re: ボイスチャット向きのプロトコルの実装について

Posted: 2011年5月26日(木) 22:31
by softya(ソフト屋)
具体的な答えではないですが書籍をご紹介します。

「Amazon.co.jp: 俺流プロトコル実装入門 ~Private Implementation Protocol~: 新里 祐教, 佐久川 剛, 遠藤 正仁, 今村 謙之: 本」


あとDLLインジェクションなんて怪しいことをしなくてもWinsock2 で独自プロトコルが実装出来ると思います(やったことはないです)。
あるいは工夫で切り抜けられるかもしれません。
「Winsockを使ってみようぜ」
http://www.asahi-net.or.jp/~nk2w-ishr/winsock0.htm
「LSP」
http://eternalwindows.jp/network/lsp/lsp00.html
ヒントになっていなかったら、すいません。

Re: ボイスチャット向きのプロトコルの実装について

Posted: 2011年5月27日(金) 01:28
by shiro4ao
>softyaさん
ありがとうございます。
なかなかインターネットだけでは難しく、本がひつようなようですね。
本を探していますが、かなりたくさん見つかったので、いくつか読んでみて
少しずつ勉強していこうと思います。
ありがとうございました。