北東崎鳳凰−記録帳
DiaryINDEXpastwill


2006年10月31日(火) 本来義的な 基礎科学思考日記

http://ja.wikipedia.org/wiki/カール・フリードリヒ・ガウス
あー
歴史上最高の数学者
の一人。

ガウス オイラーが双璧を成すかと。


ガウス日記 というのがちと気になったり。
私は・・・それと類似した 完全に個人的な日記を
高校まで付けていたような記憶が。



で、昨日から、冷静になったり
少し力を入れてみたりしながら
基礎科学について考えてはみましたが・・・
なんか、インチキくさい思考しか巡らず。
純粋水爆に関すること
中性微子線に関すること
指群第二水準に関すること

インチキくさいといえば
ノーベル賞食らった朝永振一郎の繰り込み理論も
カンニングのようなもの
とか本人仰ってましたような〜・・・

基礎科学とか言いますが
私自身の完全に独自な発想は
ほぼ皆無でしょう。
大抵は、既存の発展系の類か
あちこちから引っかき集めて適当に組み立てたりしたもの。
そーゆーとこでは、
ウィキペディアに出てくる数学者達の発想は
あぁ凄いな〜
と素直に思う次第。

しかし、北東理論に使えそうな数学を
見出せないのも事実。
ハテ、どうしたものか・・・。


この辺は、快感か地獄か。
・地獄見るように辛い日々を送りつつ
基礎科学に取り組む方達 苦科学者
・快感得ながら いわゆる脳内お花畑状態を楽しみながら
基礎科学に取り組む方達 楽科学者
訓練が必要な方達と、そんなんほっといて
陶酔に浸りながらでもどうにでもなってしまう方達と。

純粋にこのどっちかに分類出来てしまう人も
そう多くは無いかと。
未知の方程式発見に神秘的な体験を味わうとかしていた
アインシュタイン辺りは、楽科学者の典型例かと
思っていたり。
あー、将棋が一番好きで居たいとかいう
羽生善治も、楽の分類になりそう。



私は・・・楽で居たいと思うものの
やや錯綜気味。
まだ現実との接点が余り無いままの自理論ですし。
かと言って、超弦理論やM理論も、俄かには賛同しがたいですな。
世間に話のネタと刺激を与える意味では面白いですが
何かまだ本質を見出せていない気がします。

次元
時空 それにともなって 距離 時間
重さ 重力
北東理論では、こいつらが懐疑的
あるいは概念無視してしまっても構わないような事に
なっていますから。
エネルギーや力 この辺の概念も
kg重さ m距離 s時間 系の単位出自なので
自然と無視しても良いと言う事に。
F=ma^2 力 kg*m^2/s^4
E=mc^2 エネルギー kg*m^2/s^2
E=F*s^2 エネルギーと力の関係 次元のみではこうなる。

あー
だから
私もネタ自体はそれなりの数は持っています。
そいつらの纏まりがいまいち付かないということで。

で、こいつらがどんな世界を予言し得るか
指群第一水準から指群第八水準まで
八段階分けしておおよその姿を想像 あるいは思考実験。
惑星
恒星系
銀河系
銀河団
銀河の泡構造
宇宙全体
不明
循環

第七段階だけ 名称有りません。
今 つけてみましょうか・・・。
可認識区域
ああ 良いかもしれませんね。
で・・・
第六水準の宇宙全体までは
借り物知識。
可認識区域は・・・やや私の独自発想かな。
循環は、始点終点を明確にしないって意味合いで
概念的にはあちこちに既存。
どこにどうやって持ち出すかということで。
「循環を消したら、不都合なことにならないか」
この辺からの出自。
今のところ、私には、循環を消せるはっきりとした根拠が
有りません。
循環を持ち出さないで整合性を取るのは困難か
不可能かと・・・。


んー
概念操作
概念無視
概念消去
こいつらを持ってしても
どうしようもない・消す根拠に満たないものに
循環
こいつが強力に立ちはだかるわけです。

どういう思考方法かと言いますと、
普通の鉄道から信号と踏み切りを無くしたのが
新幹線。
とかいう具合です。
一種の、発展的解消思考。
余計なことを消す・考えずに済む・関わらずに済む
そういう方向に進む思考です。

例外
消えるかどうか微妙なところ。

不可能
境界
移動
こいつらは、循環と別の質らしいながら
関連性は今のところ不明。
多分、不可能 境界 移動は同値命題。
ひょっとしたら、循環と同値になるかもしれない。
とりあえず 概念としては消せない類。
移動については、kg m s単位系無視した
上位概念っぽいです。
つまり、移動に関する事柄を突き詰めていけば
自然とエネルギーや力に関することも
包含しているということ。
と言いますか、力やエネルギーなんて
信号や踏み切り、もう無視しても良いかな・・・
とかね。




これを今生の別れの文としても良いか
いや全然足りませんがな^^;;;


2006年10月30日(月) たまには 訳の分からん笑いを

基礎科学情報を「◎×」しようとしたら
何をどこでどう間違えたか
謎めいた所へ。

http://www.kajisoku.com/archives/eid431.html
648
フェアリー

・・・


背骨に来ました 何か得体の知れないものが^^;


えー
て゛

基礎科学どうしよう(謎)


2006年10月26日(木) 腹具合 どうにかならんか 腹具合

体調不良期かねぇ・・・。
腹具合が安定しません。
頻繁に下痢する。
ふと、馴染みの米屋や果物屋にも
そんなことで世間話してしまったり・・・。

プロジェクトdt
改良点は数多。
プログラミング疲れかな・・・。
自動制御に、さらにエラー対策段階1を
装備しつつありますが・・・。

基礎科学の話
練馬の知り合いの社長や
違う時間帯のSa君辺りには受けは良いです。
Gと余りこの話もしなくなったというか・・・
なんか余り私のほうから喋ることも無くなったと言うか。

この辺は、公表して良いかどうか
微妙な線上のものが結構有りますしね。
色々考えては居ますが、正直 同士とか
協力者が 少なからず欲しいです。
一人ではしんどいですね・・・。

まぁ・・・。
エネルギー関連、力そのものに関する事柄
この辺は 私内では 過去のこと。
日系サイエンス最新号では、エネルギーに
関する事があれこれ述べられているようですが・・・
なんだか、まるで時代錯誤のことに見える私は
幸せなのかどうなのか・・・^^;;

なんだか取りとめも無いですが
書き残しておきたいことだけでも
かなりの量にはなりますよ、はい。



Ta辞めるとかいうので、木曜はきつくなりそうな。
今日でTaの姿も見納めです。
ま・・・、この頑張り過ぎ屋さん、功罪ともに大きい人でした チーン
ぐは^^;


2006年10月24日(火) 所定の動作が出来て道一割

if((GetWindowLong(hwnd, GWL_STYLE) && WS_DISABLED))
{
//予約するな
}


やれやれ
LONG g1;g1=::GetWindowLong(yo1, (LONG)(-16));
bool g2=(g1 & 0x08000000L);
if(g2)
{
//予約するな
}
なんだかこんなところでつっかえてました。
&&だと、常にtrueを返してしまうんですよね・・・。
あと、GWL_STYLEやWS_DISABLEDの実数値まで
ヘルプ見て引っ張り出す始末。
自Formなら、Button1->Enabledを調べれば
すぐ片付くものが、他アプリのボタン状態を
調べるとなると GetWindowLongを
引っ張り出さないと分からんということに。

&一個だと、ポインタ絡みに使ってきた経緯有るので
試験にはちと慎重になったり。

//指定ウインドウを(0,0)に移動
if(dp)
{
RECT re;
::GetWindowRect(GT,&re);
if(re.left=!0)
{
::SetWindowPos(GT,HWND_NOTOPMOST,0,0,0,0,1);
}
}
とかね。

8-75 12-107 450
有用な運用数値を叩き出すようになって来ました。
急に安定してきました。
(0,0)移動や、その他の画面の640外移動が
かなり効いた模様・・・。
まぁ、邪魔が入る時間を極力減らすために
何やらあれこれ手を打つ必要がある ということで。
あとは・・・ウインドウ切り替えに伴うチラつきを
減らせれば・あるいは無くせれば
かなり良い感じに。
しかし、具体的にどうするかはまだ思い浮かばず。

APIもやたらと使います。
EnumWindows
EnumChildWindows
このふたつのコールバック系APIは必須ですが
GetWindowRectやGetWindowLongまで
使うとは当初は思っても居ませんでした。

GetWindowThreadProcessId
今のところ二箇所に集約。
こいつを知らなければ 今回のプログラミングは
成立しませんでした・・・。
大功臣。
ウインドウハンドルさえ入手できれば
そいつのスレッド・プロセスの情報が入手でき
実行アプリ名まで判明するという
何とも有難い代物です。

まぁその為にも
CreateToolhelp32Snapshot系
ツールヘルプAPI群も
常用することになるのですが・・・。
まぁこいつらは、もうほぼ使用パターンは固定化されました。
アプリ名→プロセスの照合に使うということで。
水戸黄門の印籠のようなもの(笑)


チラつきに関しては・・・何か記事が有ったような気はします。
余り簡単で無い気がする上に
実装するとなると、プログラム全体の枠組みから
作り直す必要も有り得ます。

あとは、エラー対策。
即効で効くのを一つ、あと回線落ち対策など。
エラー対策も かなり奥は深いです・・・。
所定の動作はするようになりましたが
更に安定化させるためには・・・
まぁ、ようやく一割くらいは実装にこぎつけた
というところでしょうか。

基本サイクルは
調査→情報取得→この印籠が目に入らぬか→サイクル繋げる諸作業→調査
こんなとこですかね。









あー
二つの事態で混迷の度は増します。
まず、このプログラム
「Win98マシンでは 動作しません」
情報取得のGetWindowThreadProcessIdが
誤動作起こしていると思しき挙動・・・。
あるいは ツールヘルプが麻痺しているか・・・。
画面が動きません。

そして、
オークションで競り落としたマシンが到着し
すこぶる好調に動作発進  ってな具合。
文句無しです。音は定常的にハードディスク音が
しますが、大したことも無く、別の部屋に置いておけば気にならない・・・。

あと、騒音マシン
HDD再フォーマットしつつXPインストし直したら
復活しました・・・。
音はうるさいまま。別部屋に追放。

うーん・・・
Win98マシンの処遇に困りますね。
どこでどのように誤動作起こしているか
突き止めましょうか・・・。
手間かかりそうですね・・・。


2006年10月23日(月) 秋の長雨 プログラミング中

・・・、余りにFlash広告がうざいので
Flashを無効にしてみましたが・・・
Yahoo辺りは Flashが無いと判明すると
同じ場所に動画・非動画GIFを貼り付けてくれる・・・。
やってくれますわ・・・。

広告大嫌いな私は Flash制限だけで
どうにもならん現況に少し嫌気が増しました。
2006/10/23(月)15:49:39


やっとサイクルは繋がりました。。。
しかし 突如予約失敗したり
全員揃ってもタイマーが動かなくなったり
一つだけタイマーが麻痺したり
など 時々変な挙動はします。しかもやや再現性薄い。
そしてなにより マシンパワーも必要な上に
目に良くないですな。

トップモスト系
SetWindowPosだけで事足りますわ。
その他のものは特に必要なし。

dr
四つの時は200に設定するのが良し。
しかしこいつはマシンパワーを使います。
旧形式マシンでは せいぜい二人くらいかな・・・。

うぅ
ネットとのタイミングも計りつつ
こっちも色々とタイミング計りながら
デバッグ。。。
本来デバッグは私の得意分野なのですが
こういう複合アプリ操作・しかもネット絡み・マシンパワー・
開発環境・OSバージョン
など色々と絡み合ってきますと
さすがに疲れますわい。

それに、余り見目麗しくない動作画面は
眺めていてはこっちが焼き付け起こしそうで^^;;
私の見ていないところで勝手にやっててちょ。


あちこち関数化して
コードは見通しよくなってきました。
しかし、タイマー系が幾つも有って
こいつら減らせないか思案中。


騒音マシンが全く起動しないので
代替マシンをヤフオクで物色。
終了間際のサブマリンアタックを食らい
一件目は失敗。
こんなことが罷り通る・こんなことする輩が
いるものですな・・・。
二件目は競り落とし、到着待ち。
静かなマシンなら良いですが^^;;


2006年10月17日(火) 絶対移動も 絶対的には当てにならず

今は無理ですか。
絶対最上位表示
足りませんわ。フォーカスが移るだけで
画面そのものが現れるとは限りません。
ずっと秀丸に隠れて見えないので
かなり虚しさを覚えました・・・。

まぁ・・・
この作業をする時は
他のアプリは終了させるか最小化すれば良いですか。


Aが担当かどうか分からん・・・。
Aの時は真面目にやってもまず報われないので
行く前にそれなりに疲れてだらだらやっててもよし。
それ以外なら 行く前にゆっくり休憩して
Aと反対の行動取れば良い・・・。
三日連続パターンは、どうやら月火水か木金土らしいので
週に同じ担当に二回当たるということは
火木パターンの私は無い模様。


2006年10月16日(月) 次のプログラミング〜

DWORD GetWindowThreadProcessId(hwnd, lpdwProcessId)
ああこれこれ。
しかし 以前にも少しかじったような・・・
あぁ、2006/4に扱っているね。
grep検索したら引っかかった。
hwndを放り込めば プロセスとスレッドのIDを取得できるというもの。
今の山積する問題をほぼすべて解決してくれます。
これで、だいたい道は開けました。

半年前は、まだ扱える技量ではなかった模様。

http://techtips.belution.com/ja/vc/0012/
あ、この記事も使えそう。
必ずウィンドウをフォアグラウンドまたはアクティブにするには?
なんだかSetForegroundWindowで
タイトルバーが点滅するだけって かなり歯がゆい展開有りましたし。

http://www.ntv.co.jp/sho-ten/
web版笑店
どんなもんかと思いきや
なかなか。



2006年10月14日(土) 土曜は良く寝る

http://www.oa-shop.jp/shop/ikebukuro.html
池袋界隈で中古パソコン屋を探してみるも
これくらいしか見つからず。
秋葉原に行くほうが早いかもね。

あー、騒音が 幾ら再起動しても
OS起動段階で一瞬青画面→リセットばかりなので
もう諦め段階。裏面のネジ全部はずして解体しようにも
なかなか外れずこれまたうざい・・・。
そうなるとボロマシンも音が鬱陶しくタイマーエラーも
うざいので、こいつら二台は廃して、別に中古XP静穏ノートでも
買い揃えようかと・・・。
音が最重要点ですからね・・・こういうのは現地で見ませんと。

まぁ、オークションで安く上げても良いのですが
音に関してはねぇ・・・。


http://ja.wikipedia.org/wiki/%E5%B2%A9%E5%87%BA%E5%B8%82
あ、ようやく心のとげが抜けた・・・
合併による新市でなく、単独で市制移行では
幾ら市町村合併で検索しても
見つからないわけですよ・・・。
岩出 栗東 富里 豊見城
この四つは単独市制移行ですか。

時たま見かける和歌山県岩出市って
なんじゃーい  って心で叫んでいました。


Sak +(1/2) 一人休み(Ta)
木金
1 8(2小包 1直積み)
1 4
数の上からはそんなに大したことは無くても
なんだか疲れた・・・。
火水よりも、量は多かった気がする。
とくに大差。
AM2:30には片付いたものの
そんなに休み時間を稼げたわけでもなく。

課長がけったいなことのたまいだす。
1パスの指定口外だっけ、そっから出たのは
ゴムででも束ねて、普段選挙用の使っていない棚で
区分して欲しいとか。
2パス中でAbが課長からなにやら突っ込み食らっているので
何か2パスでヘマでもかましたんかと
Gと話していましたが、そうではなかった模様。
意味は良く分かりませんよ、この処置。絶対数も大したことは無いはずですし
さて・・・これの意図するところは・・・。
今まではこの辺も普通に小型手区分にしてましたが。
てか、私は1パス殆どやらないからねぇ。


プログラミング
マシン二台がほぼ廃された形になってしまって
頓挫に等しい具合に。
今までのプログラムのアルゴリズムはまだまだ幾らでも
磨きようはあるのですが・・・。
ちとやる気が削がれた状態です。


2006年10月12日(木) 回線の重さと煩わしさ

あーうー
何やら泥沼風味。
IP取得してIP指定終了 装備
しかしなんだか終了の仕方が変。

あと、このバイオで
リリース版とデバッグ版で動作が違う・・・
リリース版はだんまりが発生
デバッグ版は所定の動作を完遂
なんでですか、これわ・・・

そんな微妙なラインに立っているんですかね
udp+スレッド+アプリ操作
タイマーやスレッドはいじってはいますが・・・
ちょっと苦しい昨今かな。
DLLを全部はずして見ますかね・・・。

→回線負荷が高いと
やたらとあちこちで動作不安定になる模様。
しかし・・・そんなことはやや想定外の上、
困難に対処しようとすると 膨大な手間隙かかりそう。
回線はお軽くしてから使いましょう ・・・ってか。





2006年10月11日(水) ムカゴの夢 山椒の恵み

ムカゴ

夢を見て目が覚める・・・
なんでか 田んぼの泥沼を婆さんが車で運転しながら
私がムカゴを取ったりする夢。
訳分かりませんが・・・
ムカゴは塩茹でにすると美味いそうな。

しかし、この辺にありますかね、山芋の蔓なんて。

http://homepage3.nifty.com/in_the_wind/diy/imo-frame.html
えええと えっへっへ
案外ありますね ムカゴに関するページ。
うぅ・・・山菜系が大好きな私には
見るだけで垂涎ものです・・・。


山菜と言えば・・・
うちにぽっと降りかかって
芽を出した山椒ですが
今年でおそらく三年目。
一年目と二年目は普通に育っていましたが
三年目になって花を咲かせました。
どうやら雌株のようだった模様。
緑色の実をつけ、今では鮮やかな赤色の実に。
中から黒い種子を覗かせているのもあります。
60個くらい実を付けましたね。
えー、で、これはそのまま食べられるのかな???
まぁ 調べれば分かるでしょう。

一年目と二年目は 蝶の幼虫に
かなり葉を食われたりして
ほぼ毎日こっちも山椒を全体から眺めつつ
幼虫は排除したりしましたが・・・
今年は特に何もしないでも
殆ど葉を食われたりしませんでしたね。
ハテ、何が幸いしたのかな。

春先の若芽は、それこそ山椒のすがすがしい香りと
味の良さも相俟って 筍ご飯に添えて食べた時ときたら・・・
あぁ・・・。

なんでしょうねぇ、都会の庭先の片隅に
ぽっと生えて出た山椒ですが、
庭に有る枇杷やカラタネオガタマ、紫陽花、槿、萩よりも
印象的です・・・。
我が家では最も美しく凛々しいのは
狙って植えたわけでない、この山椒ですね。

枇杷 びわ
紫陽花 あじさい
槿 むくげ  流石にこいつは初見では読めませんな。
萩 はぎ
山椒 さんしょう


ですがまぁ
ムカゴは確たる記憶も無いですが 食べたいですな。
でも・・・山椒は 日本料理では 香辛料としても
食材としても かなり使える位置にあるようですし
既に色々と恵みを貰っています。
その総合的な恩恵は、ムカゴを遥かに上回っていますかもね。
帰ってくるたびに目に入る、美しさと凛然さを
兼ね備えたその姿、見るたびに心に潤いを
与えてくれますしね・・・。

ムカゴを優越する恩恵が
我が家には既に有りました・・・。



最近は タバコを吸わない人ばかり休む・・・。
火木共通面子でタバコ吸うのG Mo Abは休まない。
今週は、火Se木Taが休み どっちも5人のみ。
第二第四火曜しか 休み甲斐が無い・・・。
Ma、大型転送還付の処置方法知らんかったとかで
「それ先に言ってよ。ここあんまりやらないから
知らないんだって。」とか。
10-13 14-17 多摩 21-69 70-09の5つ
あと、自局、練馬他局(177,178,179)、
その他(小型、外国還付)

Gに大型はこうした方が楽で早いですよー
とか会話していたら
「小包もそんだけやる気ありゃあねぇ・・・」
あーそうですか。小包は全くやる気なしの私。

下り2が来る前に下り1の大型終了。
1 5で大型は安かった。
で、小包嫌なんで小型差立で時間潰せるかなー
と、変な葉書が結構ある。
・・・。んー・・・何か変だなー・・・
!?
郵便物って表記がどこにも無い。
今日の担当の課長代理Shiさんは、気さくな良い人。
早速掛け合ってみると
「こりゃまずい。あるの全部出して持ってきて」
とのこと。
料金別納のスタンプを片っ端から押していくShiさん。
「押し忘れだね。」
「誰も気づかなかったんですかね」
「そうだねえ・・・。気づかなかったらやばかったよ」
おかげで、差立棚を片っ端からひっくり返して
全部調べて引っ張り出す有様。
結構な数ありました。
てか、これ区分けた方々、気づかなかったのかな。
Ab以外には話は即伝わります。
てか、こんだけの数区分けたのは
Abが一番怪しいとか。
Maは何か心得ていて、
「あーその葉書、機械で行けそうだったから
別のところに一まとめしておいたよ。
何にしてもすぐ見つかるようにしておいて良かったよ」
とのこと。

小包やっていたG Moには、このこと伝えて
そそくさと何気なく逃げる私。


Shi +3
一人休み
前半 大型少ない 銀座直積み程度
大差 羹多く苦労 大差還付転送ごと片付ける
後半
1 5
1 5
そんなに苦労はせず。
むしろ少ないくらい。
2パス Iしか関われず。
5500を9分
600通/分なら調子はまあまあ。
どっちもさほど多くは無く、一人休みでも
こなせる程度。
ただ、押し忘れ葉書が多量に見つかった時点では
結構私もShiさんもそいつの処置に焦ったり。


2006年10月10日(火) 複数マシン 複数状況

試しに
11指令のみ
その他四台 指令に基づいて動く
にしてみたら
WinXPの二台(12,13)は所定の動作をしてくれるものの
Win98 14はアプリ終了してくれない
Win98 22に至っては、起動のみでそこから動かず・・・。
あー・・・なんですかこれは。
タイマー系との衝突でも起きているのかな・・・。

あー
OsVersionでも調べて
Win98系にはもっとゆとりを持たせますか・・・。
多分 スレッド動作の関係で 速さ異なるでしょうし。

OSVERSIONINFO osi;
osi.dwOSVersionInfoSize=sizeof(osi);
::GetVersionEx(&osi);
if(osi.dwMajorVersion==5) ListBox1->Items->Add("メジャー5:XP系OS");
if(osi.dwMajorVersion==4)
{
ListBox1->Items->Add("メジャー4:98系OS");
// FreeLibrary( hDll );
return;
}
//EM_GETLINEが狂う98系は未サポートということに。
過去に観戦ツールで使ったルーチン。



if(osver==4)
{
udprecv2 *udpThread2 = new udprecv2(true);
// 作成するが実行しない
udpThread2->Priority = tpLower; // 優先度を標準よりも低く設定する
udpThread2->Resume(); // ここでスレッドを実行
}
else
{
udprecv2 *udpThread2 = new udprecv2(false);
//udp通信のrecvfrom待機用のスレッドを開始
}
Suspend(void)

if(osver==4) udpThread2->Suspend();//スレッド停止
if(osver==4) udpThread2->Resume();//スレッド再開
udpThread2->WaitFor();

udpThread2->Terminate();

・・・まずい。
マシンごとに挙動が違う。
うまく行くのは
11 13のみ、12はうまく行っていたのに
途中からおかしくなって だんまりのみになった上に 電源落ちた。
14も、アプリ終了だけがうまく行かなかったのが
起動してからだんまりと 酷くなり。
22は 相変わらずだんまりのまま。
Win98系は沈没状態。udp送受信そのものは
うまく行っているようですが・・・。

あと、確実に自IPを取得して終了させる必要有るようです。
プロセスが残っていたりします・・・。

あぁ・・・次から次へとおかしなことも起こります。
適当に、IrfanViewでjpg->icoにして充てた画像、
ランチャーに登録したら固まってしまい、
何度起動しても固まる始末。痛いよー。
仕方ないので、icoでディスク検索して、
要らん添付アプリにくっついていた温泉icoを
使ったり。それでもランチャーは起動即固まるのみ。
システム再起動しないと戻らない風味。

dllが足りないとか そんなことも有ったり。
エラー検出も強化しましょう・・・。

しかし、だんまりのみ ってのは
かなり納得行きませんねぇ・・・。
もっと細かく進行状況を表示するようにしてみますか・・・。


あー
自分自身で三つ受信してしまうというのは
INADDR_BROADCAST指定してたからの模様。
自分自身でもちゃんとIP指定したら
一つだけ受信してくれました。


http://www.morikita.co.jp/soft/kiriyama/8400/v4.html
http://yokohama.cool.ne.jp/chokuto/advanced/struct/OSVERSIONINFO.html


2006年10月09日(月) 細かい仕様は後にして

sendto(), Error = 10049
http://homepage1.nifty.com/yito/anhttpd/winsock_error.html
WSAEADDRNOTAVAIL Can't assign requested address 無効なネットワークアドレス。
ソケット関数に渡されたネットワークアドレスに無効な部分がある。
INADDR_ANY指定がまずかったようです。
udpsend2(INADDR_BROADCAST,5006,"1001");
こうします。

これを自分自身にやると なぜか三つも受信する・・・。
一つだけにならないものかね。
送信元を明示しないと 困難かな。

送受信元のIPも把握している必要有りますが
tcpはそういうの明示されているのに対し
udpは幾らか緩いですな。
まぁ・・・今回の場合は 自LAN内というか
自ルーター内のアドレスに限定すれば良いので
いちいち汎用性を持たせなくても良いです。
192.168.1.まで共通してます。あとは、11 12 13 14 22。
変化することも当然ありえますが
今はこいつら固定で良いでしょう。
変化に対応するのなら、一通り出来た後で。


udpsend2(0xc0a8010b,5005,"本日は晴天なり");
//192.168.1.11 -> 0xc0a8010b
こういう指定の仕方になりますな。
192->0xc0
168->a8
1->01
11->0b
こいつを繋げて指定。

逆に、こういう数値が入ってきた時に
4番目を特定するには
4banme = 0xc08010b & 0xff;
で抽出できますな。
2進数の11111111でAND。

11 5005 送信→3つ受信

12 5005 1つ受信

13 5005 1つ受信

14 5005 1つ受信

22 5005 1つ受信

11にクライアントとサーバー両方設置
あとサーバー配置。
全部同じポートで待ち受けて
udpsend2(INADDR_BROADCAST,5005,"本日は晴天なり");
これやると、こうなります。
一気に全部行ってくれるのは ある意味かなり楽ですが
誰も待ち受けていなくてもエラーになりません・・・。
この情報は、ルーターの外にも行くのかどうか・・・
そこんとこはまだ知りません。

あと、自身で送受信すると
三つも受信してくれるのもどうしたものやら・・・。
自身だということを、送信データに明示して
三つ来た場合は一つと解釈するようにしますか・・・。

どういう形式でデータを送受信するか。
汎用性をあまり考えなくて良いなら
"11ff"
"14fe"
4文字の文字列にして、前半を宛て先
後半を指示内容
とかで良いですかね・・・。

プログラム設計の話であれこれって感じです。

あー、INADDR_BROADCASTは試験段階でしか
使うことも無いかも。
自身で受信ってのは、今回の場合は必要は無いですし。


2006年10月08日(日) マルチスレッドのUDPの複数マシンのあれこれ

スレッド側
void __fastcall udprecv2::Execute()
{
// TODO : スレッドとして実行したいコードをここに記述 */
//Synchronize(udpwait2);
udpwait2();
}
マルチスレッド制御で
Synchronizeを使うとハマり(完全停止する)
使わないで居たら 当初の目標を達成・・・

まぁ 骨格は出来つつあります。
GUIで、マルチスレッド化して、送受信とも扱えるようになりました。
お互いのヘッダファイルをインクルードし、
フォーム側
void __fastcall TForm1::FormCreate(TObject *Sender)
{
udprecv2 *udpThread2 = new udprecv2(false);
//udp通信のrecvfrom待機用のスレッドを開始

}
後はまぁ マルチスレッド系は ヘルプ見て強引に解決。
てか、スレッドは一つしか作ってませんし使ってません。
あと、スレッドとタイマーを共存もさせてみて、
今のところ特に問題も無い模様。


http://www.geocities.co.jp/SiliconValley/7201/tech.html
http://gimite.ddo.jp/bcbqtree/qtreemain.cgi?mode=thread&thread=386


2006年10月07日(土)

複数マシンの送受信とプログラム制御を
試してみようと あれこれ模索中。
自作したほうが早いだろうと
VC++ VB BC++Bのどの開発環境系にしようかな・・・
というところで、5台共通環境はBC++Bしかないと判明。
Win98の古いバージョンでは、VB6ランタイムのインストールに
失敗したりしますし・・・。

udp tcpの性質を調べながら試験。
今のところ、udpの方が使えるかもしれない。
送信に関してはこっちから勝手に送れば良いものの
受信に関しては 常に待機が必要なため・・・
マルチスレッド化が絡んできそうな気配。
うーーーむ・・・。
udp送信 udp受信まではこぎつけ。
特定IP宛てに送信も良し。
しかし 受信単機能のサーバープログラムについては
そのままでは真似できない・・・のかな。

相手の状況を逐一把握しつつ
自マシンのプログラム制御・・・。

http://wisdom.sakura.ne.jp/system/winapi/winsock/winSock4.html

http://www.soi.wide.ad.jp/iw98/iw98_tut/slides/17/28.html

http://www.linux.or.jp/JM/html/LDP_man-pages/man7/ip.7.html
QSXH4-VSW9C-ZLC3L-W4Z23


北東崎鳳凰 |MAILHomePage