◇2002/11の日記◇

New← メッセンジャー1 / カキーン / 忙しいのですよ…… / オフ会 / 続・死んでますよ…… / 死んでますよ…… →Old


2002/11/30 メッセンジャー1

世間は、スクウェアエニックスの合併ニュースでもちきりのようですね〜。
って書いたら、更新に時間かけてる間に、古い話題に……。_| ̄|○


いつの間にやら、ROはプレオープンしてるし……。
RO系VNIもたくさん増えていて、浦島太郎な気分です。


このページはどうやら、見る人によって、RO系に見えたり、そうでなかったりするようですね。
見られかたが色々あって面白いので、このままいきますけど。w


さて、前回も書きましたが、最近、いろんな方とメッセンジャー(以降メッセ)でお話しています。
そんな、ROの鯖落ち時等に便利なメッセですが、ルータを介していると、ファイルの送受信ができないことがありませんか?
メッセで話しつつ、「せっかく取ったSSを、友達に見てもらいたい」とかいう時に、ファイル送信に失敗してしまうと、なんともいえない寂しさが漂います。
SS交換に限らず、不純なものを送りつけたりすることもできないですしね。(ぇ?


いや、メールで送ればいいんですけど。
メッセで話してるのに、わざわざメーラーを立ち上げてメールを送るのが、手間でしょうがないと感じませんか?
私は手間でしょうがありません。(;´Д`)
一旦メールサーバを経由する分、二度手間ですし、相手のメールボックスの容量が少なかったら、大きいファイルは送れませんしね〜。


どうしてファイルの送受信ができないのか、知っている人って割と少ないんですよね。
とりあえず原因を探る前に、普通のメッセージをルータなしで送るときには、どういう風に通信しているのかを見てみましょうか。


インターネットでは、「TCP/IP」という方法で通信していることくらいは、聞いたことがあると思います。
この辺、深く説明してると、本が1冊どころか何冊も書けてしまうので、メッセとルータに関係あるところだけ。
実際に送られるデータは、下の図の様になっています。




ネットワーク層までの図


1がIPヘッダと呼ばれるもので、送信元のIPアドレスと、宛先のIPアドレスが書いてあります。
ルータを介していない場合、送信元IPアドレスは、インターネットに直接繋がっている、グローバルIPアドレスというものが、プロバイダから割り当てられているはずです。(一部CATV等の例外あり)
2がTCP(UDPの場合もアリ)ヘッダと呼ばれるもので、送信元のポート番号と、宛先のポート番号が書いてあります。
ポート番号は、アプリケーションが決めます。
3は、実際にメッセが送るデータ(メッセージの内容等)です。
ヘッダにはもっと色々な情報も書かれているのですが、それぞれの意味を書いていると本が何冊も以下略ということで、割愛します。


では、例えば、ブラウザでどこかのページにアクセスする場合を考えてみましょう。


1のIPヘッダですが、送信元IPアドレスはもちろん、自分のIPアドレス、宛先のIPアドレスは、WebサーバのIPアドレスとなります。
どちらも、グローバルIPアドレスですので、重複するIPアドレスは、世界のどこにもありません
宛先は、このページでいうと、「shella.s22.xrea.com」を、DNSの名前解決により、IPアドレスに変換したものです。


2のTCPヘッダは、送信元ポート番号は、ブラウザが決めた番号、宛先のポート番号は、ほとんどの場合が80となります。
宛先のポート番号が80でない場合は、「http://アドレス:ポート番号/」という風に指定してやることで、アクセスできます。


そして3のデータ部には、「GET /index.html HTTP/1.0」というような、「index.htmlのデータを送れ( ゚Д゚)ゴルァ」という命令が入っているわけです。


で、データが送られてくるときは、この逆ですね。


ルータを介さない場合には、このようになるわけですが、複数のマシンからインターネットにアクセスする場合には、このままでは困ります。
何故なら、同一ネットワーク上では、複数のマシンが同じIPアドレスを持つことはできないですし、もしそれでデータを送ることが出来たとしても、データが帰ってくるときに、どのマシンに届くのかがわかりません。


ということで次回は、ルータの働きを書くつもりです。
また時間がかかるようでしたら、間に何か挟んでごまかすかもしれませんが。(ぇ


シェラ0x19歳は、わかりやすく書けているのかどうかが、ものすごく不安です。


(私信)
鉄子さん>なんか知り合いの技術班がかなり楽しんで見てたな…
ありがとうございます。m(__)m
技術班の方々(?)によろしくお伝え下さい。w

折原>○シェラ1万おめでとう。プログラムのことなんて微塵も分からん俺はどうすれば・゚・(ノД`)・゚・
勉強(・∀・)シル!!
あと、WebMoneyは、買う前にきちんと確認しましょう。w

プリ兄さん>-すまん、完璧にリンクし忘れてた(;´Д`)
…………(;´Д`)


2002/11/25 カキーン

修羅場穴場女子浮遊が明けました。ヽ(´ー`)ノ
死にかけてる間にも、世間は動いているようで、ROはβ2の終了、課金へと着実に動いているようですね。


私も、登録とキャラの移行を済ませ、チケットを購入しようとしました。
VNIのみなさんは、未成年が多いせいか、WebMoneyを利用している方が多いようでしたので、ここはひとつ、大人の魅力、クレジットカードで登録してみようかなと。


えぇと、カードの種類と番号、有効期限を入力して……「次へ」で「OK」っと。
入力されたカード情報に誤りがあります。内容を確認して、もう一度処理をし直してください。
アレ?
入力間違ったかな……もう一回入力して……「次へ」で「OK」っと。
入力されたカード情報に誤りがあります。内容を確認して、もう一度処理をし直してください。
…………。


カード止められてますた。(てへっ
いや、引き落とし日を把握してなかったのが原因なんですけども……。
結局、WebMoneyでチケットを購入……。
大人の魅力どころか、ダメな大人の見本になってしまいました。


そんな鬱な話題はさておき、最近、いろんな方とメッセンジャーでお話しする機会が増えました。
ということで、次回から課金までの間は「MSN Messenger」(を含む)のお話でもしてみるつもりです。
長くなりそうなので、2〜3回に分けるかもしれません。
課金までに終わるかな……。(汗


長いことほったらかしな窓プログラムのお話は、もうちょっと落ち着いてから続きを書きますので、もうしばらくお待ち下さい。(つω;`)グスン


シェラ0x19歳は、カードを止められそうな人を応援しています。(何


(私信)
ごめんなさい、修羅場中の私信がつかめません。(死
気付き次第、書いていきたいと思いまつ……。・゚・(ノД`)・゚・


2002/11/12 忙しいのですよ……

更新が滞るかもとか言っておいて、2日連続更新のシェラです、こんばんは。
全てはさやかさんの陰謀なのですが。


えぇと、「Aレジスタの中身とCレジスタの中身を足してAレジスタに代入しなさい」という命令を実行すればいいんですか?
8086系CPUには、AレジスタもCレジスタもありません!! 以上!!


で終わろうと思ったけど、あんまりにもあんまりなので……。
大体、Z80プログラムなんて、組んだことないですよ〜。
ニーモックが違うじゃないですか、「LD」と「MOV」とか。


というわけで、ここでは、WindowsとVC++(もちろん、Intel系8086互換32BitCPUで)の環境で話を進めます。
足し算で終わるだけのプログラムだと、実行結果が目に見えなくて、何がなんだかわからないと思いますので、足し算した内容を、メッセージボックスで表示させるプログラムでも作ってみましょうか。


まずは、普通にC言語で足し算。


int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                      LPTSTR lpCmdLine, int nCmdShow )
{
    char buf[16];
    MessageBox( NULL, _itoa( add( 2, 3 ), buf, 10 ), NULL, MB_OK );

    return 0;
}

int add( int a, int c )
{
    return ( a + c );
}
			

括弧が多重になっていてわかりにくいかもしれませんが、これは、足し算した結果の数字を、文字列に直して、メッセージボックスで表示するというプログラムです。
このプログラムでは、「2」と「3」を直接記述していますので、結果は「5」が表示されます。
ここでのadd関数の、「a」と「c」は、引数名であり、レジスタ(CPUの内部にあるメモリ)名ではありません。
実は、関数に引数を渡すとき、スタックで渡す(通常の処理方法)のではなく、レジスタを使って渡す(速い)方法もあるのですが、割愛。


では次に、レジスタを使った足し算。
WinMain関数は同じなので、省略。


int add( int a, int c )
{
    _asm{
        mov eax, a;
        add eax, c;
        mov a, eax;
    }
    return a;
}
			

何をやっているのかを説明しますと、まず、引数「a」の値を、CPU内のeaxレジスタにコピー
次に、eaxレジスタに、引数「c」の値を加算
加算された値が入っているeaxレジスタの内容を、引数「a」にコピー
最後に、returnで、引数「a」の内容を返しています


実は、後半2つの処理は行わなくても、戻り値はeaxレジスタを介して戻るので、問題ない……というか、処理が余計なのですが、VCでコンパイルすると警告が出るので、あえて変数に戻してreturn処理をしました。
#pragmaを使って、警告処理を止めてしまうことも出来ますが、気持ち悪いので。(ぇー
速度優先のプログラムでもないですしね。


ちなみに、VCのデバッグモードでステップ実行等をしている時に、「混合モード」表示をすることで、マシン語を見ることが出来ます
混合モード」でアセンブラしか表示されていない時は、右クリック->コードバイトの表示で表示されますので、見たい方は試してみてください。w


ふぅ、こんなもんでいいですか? いいですね? いいということで。
あぁ、そうそう、アセンブラ使用バージョンのVC6用プロジェクトは、こちら


シェラ0x19歳は、これから修羅場で死んできます。


(私信)
護さん>おめでとうございます!
ありがとうございます〜。
また、RO内でバッタリ会えることを、期待しております。w

Псиさん>シェラさん、おめでとうございます。
ありがとうございます。
またなんか、振られてますね?w
ハードウェア方面はわからないので、さやかたんに丸投げ〜(;´Д`)
もちろん、C#の担当は、Псиさんということですよね?(Y/y)

川澄  舞さん>シェラさん、お名前の由来はフォードのシエラ・コスワースですか?
残念ながら、違います〜。
秘密なんです。(ぇー
これからも、よろしくお願いします〜。ヽ(´ー`)ノ

由宇さん>シェラさん、10000Hitおめでとうございますですの☆
ありがとうございますですの☆
由宇さんの予言が当たることを祈って……w

gctpさん>シェラさん10000HITおめでとうございます。(遅!)
ありがとうございます。
私やПсиさんが泥沼になったところを、さらに細かく解説されていて、わかりやすかったです〜。

雛子ちゃん>ページでおいわいするのはおそくなっちゃった・・・ 10000HIT おめでとう〜♪
掲示板でも、ページでもありがと〜♪
雛子ちゃんの優しさには、いつも頭が下がる思いです。

香里さん>シェラさん0x2710HITおめでとうございます。
最近の忙しさを見てると身体がほんとに心配です。お気をつけてください。

16進数でのお祝い、ありがとうございます。
お心遣い、痛み入ります。
お互い忙しい時期ですが、死なない程度に、頑張りましょう!

田仲ちゃん>シェラさん、1万ヒットおめでとう〜!
ありがとう〜!
パソコン復活、おめでとうございます。w
いつぞやは、投稿フォームでの応援、ありがとうございました。m(__)m
アイテムリセット、ツラいですね〜。><
私も、大事に取っておいた、もらいものの2HSが……。・゚・(ノД`)・゚・


2002/11/11 オフ会

さんの夢の中で、割といい(?)役をもらったシェラです、こんばんは。


かすみさんの所に、オフレポが上がってます。
お疲れさまでした。
扱いにくいキャラでスミマセン……。(汗


オフレポにも書いてありますが、居酒屋で行われたビンゴゲームで、何を間違ったか、1位をとってしまいました。
賞品は、ROのリバーシブルポスターと……100万円!!




Million!!


100万円あれば、課金後のROが、55年と7ヶ月もできるYO!!
実際には、Visual Studio .NETを買うでしょうが。
さて、気になる中身は……。




ジョークかよΣ( ̄□ ̄;)!!


ちゃんと、100枚ありました
本物の一万円札を上下に入れて悪用してはいけません」との注意書きがイカしてます。
ありがとうございます、れなさん。
つらつらと、これにプログラムソースや、恨み言を書き連ねたいと思います。(ぇー


ROのリバーシブルポスターは、芹香さんがこれでイロイロなものを叩いていたような気がするので、ちょっと凹んでます。w


と、ここまで書いてから気づいたのですが……。
このページも、10000Hitを達成しました〜!!ヽ(´ー`)ノ
記念Hitを踏んだ方は、えるさんです!
おめでとうございます〜。


せっかくの記念Hitですし、何か差し上げたいのですが……一体何を差し上げればいいのか……。
絵は描けないので、近いうちに何か、プログラムでも作ってお贈りしたいと思います。


シェラ0x19歳は、これからもこのページを応援してくれる方達を応援しています。


明日から、今年最後(なハズ)の修羅場が始まります……。
長くて2週間ほど、更新が滞る恐れがありますが、暇があればひょっこり更新しているかもしれませんので、気長にお待ち下さいませ。


2002/11/08 続・死んでますよ……

相変わらず、咳と鼻水がとまりません。
VNIの間でも、風邪が流行っているようですね。
みなさん、流行には敏感ですし……。(ぇー


そんな中、朦朧としながらも、修羅場中にたまっていた、シスプリRePureとガンダムSEEDを、少しずつ消費。
チェきたんのページを見てからRePureを見たので、予期せぬところで脳内変換→爆笑
これはこれで、楽しめるようです。


さて、最近、ROもいろいろとニュースが流れていますが、私がふと目についたのが、この記事

また自身ROファンであり、現役プレーヤーでもあるという孫氏は、自身の体験を引き合いに出して、同作が持つコミュニティの素晴らしさについて力説。そのエピソードとは、ノービスの時期に、希望する職業のギルドの場所がわからず、親切な学生プレーヤーに連れて行ってもらったという内容と、アクセスした際にたまたまユーザー同士の結婚式に出くわし、式に参列しているお友達が新郎新婦に対してアイテムを山積みにしてプレゼントしているのを見て、自分もプレゼントしてしまったという内容。

孫社長も、ROやってるんですね。
ということは……今あなたの隣にいるキャラが、孫社長だったりするかもしれないと。
ふと、何気なく目の前を通り過ぎていって、自分の露店で人参を買ったりしていたキャラが、孫社長だったりするかもしれないと。
さらにいえば、つい先日に教祖様が誕生日だった某教団の騎士団員や、某劇団の劇団員や、もしかしたら、あなたのPTメンバーが、孫社長だったりするかもしれないと。


(((( ;゚Д゚)))ガクガクブルブル
もう、誰も信用できません


さらに、記事には、こんな続きが……。

いずれもMMORPGが持つ吸引力の一端を示すエピソードだが、孫氏はそうした出来事ひとつひとつに大いに感激し、「オフラインのイベントに誘われるまでには至らなかった」と残念そうに語りつつ(老婆心ながら誘われて行ったりしたら大変なことになると思うが)、「大げさではなく、人生の一端として心が温かくなる思いがした」と告白。「ラグナロクオンラインはそうした要素をたぶんに備えていて、そこが私は気に入っている」とコメントしてくれた。

孫社長、オフ会をご所望のようです
さて、ちょっと想像してみましょう。


初めてのネットゲーム。
初めてのRO。
初めて組んだPT。
そして、初めて誘われた、初めてのオフ会。
ドキドキしながら行った待ち合わせ場所には……孫社長キタ━━━━━(゚∀゚)━━━━━!!


……シェラ0x19歳は、風邪が悪化したので、ここまでにしておきます。


(私信)
>っていうかメタルアイドルってなんですか?
メタルアイドルってのは、このように、3万の純粋に慕ってくれる人々の手助けによって、『人間』に生まれ変わることができるそうです。
3万の純粋に慕ってくれる人々の獲得に向けて、がんばって下さい。(ぇー
人間のほうが幸せかというと、それはそれで疑問ですが……。


2002/11/05 死んでますよ……

修羅場が一段落し、気が抜けたのか、風邪をひきました。
もちろん、バーチャルなので、そのようにプログラムされているわけですが。


風邪 = ( 環境変化 > 耐久限界 );
if( 風邪 ){
    鼻水量 = 基本鼻水量 * ( 環境変化 - 通常環境 );
    咳頻度 = 基本咳頻度 * ( 環境変化 - 通常環境 );
    h鼻水スレ = CreateThread( NULL, 0, ( LPTHREAD_START_ROUTINE )鼻水スレ, ( LPVOID )&鼻水量, 0, &dw鼻水スレID );
    h咳スレ = CreateThread( NULL, 0, ( LPTHREAD_START_ROUTINE )咳スレ, ( LPVOID )&咳頻度, 0, &dw咳スレID );
}
			

きっと、こんな感じ。(ぇー
エラー処理をしていないので、例外が発生したら終わりです。(何


風邪をひく直前には、オフ会に参加してきました。
こちらの詳しい話は、オフレポ担当者にお任せして、こちらでは、風邪が治ってから、軽く取り上げたいと思います。


さて、リファラを調べていたら、バーチャルゲームライブラリーgctpさんにリンクされていました。
ゲームライブラリということは……gctpさんを使って、あ〜んなことや、こ〜んなことが……。(*´Д`)アァン
メタルアイドル目指して、がんばって下さい。
ところで、「using namespace gctp」と書けば、このページにも、gctpさんを召還できるのでしょうか?(笑)
コンテンツがかぶったら、スコープ解決演算子で直接呼んでやらないとダメとか……。


(私信)
思いっきり遅くなりましたが、晴子さん、誕生日、おめでとうございます。
まだサイト名が29歳になっていませんが、きっと仕様ですね。
また、RO上でお会い出来ましたら、その時は宜しくお願い致します。