SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

仮想ネットワークの実装で学ぶTCP/IP

仮想ネットワーク実装でTCP/IPを学ぼう(7)
― GDI+と独自プロトコルの定義

仮想ネットワーク実装でTCP/IPを学ぼう(7)


  • X ポスト
  • このエントリーをはてなブックマークに追加

Graffitiプロトコルでのデータ通信

 描画データを設定する処理におけるデータ通信は、基本的な考え方は今まで行ったGDI+プログラミングの手順と同じです。例えば、四角形を描画したい場合、まずはペンもしくはブラシのデータを送ります。次に四角形を送ることを示すデータを送ります。なお、ペンもしくはブラシの設定は、指定されていない場合、黒色を指定したペンもしくは黒色を指定したソリッドブラシにします。また、新しいペンまたはブラシのデータが送られてこない限り、そのまま同じペンまたはブラシのオブジェクトを使うことにします。

 描画データを要求して受け取った場合は、始めに描画データ要求のメッセージをサーバへ送ります。そのメッセージを受け取ったサーバは描画データを、要求してきたクライアントに返します。描画データを受け取ったクライアントは、サーバから送られてきた描画データに基づき描画処理を行います。

 なぜこのような仕様にしたのかというと、TCP/IPがデータを分割して送る方式である点を強調したかったからです。TCP/IPでは大きすぎるデータはバイト単位で計算されて、定められたサイズで分割して送られます。しかし、その細部を実装するとなると非常に退屈な話なので、要素ごとにデータを送信する方式に決定しました。そのため、実際のTCP/IPでは、データ量が分割送信されることがあるのを覚えておいてください。

まとめ

 今回はGDI+プログラミングの基礎と独自プロトコルの定義を通じて、プロトコルそのものの解説を行いました。次回はいよいよ仮想ネットワークの実装を解説します。

 仮想ネットワークおよび独自プロトコルの仕様は、あえて細かい部分(エラー処理など)を決定していません。ぜひご自身で実装してみてください。そうすれば、ネットワークに関する知識がより確かなものとなるでしょう。

参考資料

書籍

ホームページ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
仮想ネットワークの実装で学ぶTCP/IP連載記事一覧

もっと読む

この記事の著者

インドリ(インドリ)

分析・設計・実装なんでもありのフリーエンジニア。ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。座右の銘は温故知新で、新旧関係なく必要だと考えたものは全て学...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5170 2010/06/17 10:35

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング