[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 08/16 23:53 / Filesize : 244 KB / Number-of Response : 980
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part46



1 名前:デフォルトの名無しさん [2008/04/22(火) 00:31:59 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。

前スレ
C#, C♯, C#相談室 Part45
pc11.2ch.net/test/read.cgi/tech/1200911737/

その他テンプレ>>2-5くらい

522 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:25:46 ]
>>521
最近はROM主体だが、お前の発言が一番醜く見える。
そんなに無視されたのがくやしいのか? ちなみにどの質問なのか示してみ。

523 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:56:45 ]
どこが難しいの?直前のネタはフラットでもスルーだろ・・・C#関係ないし

524 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:04:01 ]
>>518
それはスコープが終了するとGCされるから、プログラマの責任でスコープを終了させんな、って話だ。

525 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:12:10 ]
>>522
わざわざROM主体とか前置きしないとレスできないのかよw

526 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:14:26 ]
ROM主体と言うのを何か言い訳に使ってるなら
>>525のレスは理解出来るが、別に言い訳に使ってないじゃん
まあ、無駄な前置きではあるけど

527 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:40:12 ]
>>526
まあ、第三者を装ってるあたりはみっともないな

528 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 10:23:17 ]
>>524
それはるびまの記事の話だろう。
あのスレの>>875はこんなコード。GC.KeepAliveを抜いたらクラッシュする。

static void Main(string[] args)
{
VALUE state = 0;
Ruby.ruby_init();
const string funcdef =
"def foo\n" +
"s=\"FOO\"+nil\n"+
"end";
Ruby.rb_eval_string_protect(funcdef, ref state);
VALUE hoge = Ruby.rb_intern("hoge");
Ruby.CallbackArg0 func = arg => Ruby.rb_funcall(Ruby.Qnil, hoge, 0, 0);
VALUE result = Ruby.rb_protect(func, Ruby.Qnil, ref state);
GC.KeepAlive(func);
}

529 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:20:13 ]
アンマネージな世界に渡したデリゲートを安全に保持しとくには
アンマネージ側で不要になるまでGC対象にならないようにしとかなきゃならない。

てだけの話?


530 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:41:36 ]
>>529
そういうこと。
他にも、インライン展開されたコンストラクタが完了する前にファイナライザが実行されることすらあるよ。
この場合もアンマネージな世界のハンドルの早すぎる解放であぼんする場合がある。



531 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:44:19 ]
>>529
9割9分そういう理解でOK。>>514もアンマネージなmutexやロックのためのファイルを
開いたままにする場合などに影響が出る。
アンマネージが関係しないケースはまれなのだが、なぜかそのレアケースが、
MSDNに載ってたりする。サンプルソースは2種類あるが最初のほう。
msdn.microsoft.com/ja-jp/library/system.gc.keepalive(VS.80).aspx

532 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 14:44:45 ]
非同期ゲリゲートの動きを止めたいときはどうすればいいですか?

533 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:07:42 ]
>>532
フラグやEventを使ってスレッド自身にそうさせるのが基本。

534 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:06:12 ]
関係ない話題を知ったかでひけらかすより質問に的確に答えてあげたら?

535 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:10:55 ]
いったい何の話だ?

536 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:12:20 ]
すっげーすぐにレス来たww
お前が関係ない話してレスが流れたんだろ。
自分で見返せ。

537 名前:535 mailto:sage [2008/05/27(火) 16:19:20 ]
>>536
えーと、俺はこのスレには初めて書いたものだが
流れがわからんからアンカーつけてくれないか?
どの質問の話かわからないから、答えようが無いわ。

538 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:22:12 ]
>>531
そこのサンプル例1の解説が不正確で、プロパティの取得処理が
時間のかかる処理のためデストラクタが先に動いてしまうと読めるがそれは誤り。
もしそうであれば.NETのGCなんて安心して使えない。
それはデストラクタの使い方に重大な欠陥があるために発生する。
具体的にはExampleクラスのデストラクタで他のクラス、
この場合hashValueが参照を持つArrayクラスの後処理を書いたらいかんということ。
マネージドだけの場合は基本的にKeepAliveのことは考えなくてよい。


539 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:57:12 ]
デストラクタが呼ばれるときには、既にメンバは解放された後なんだっけ?

540 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:11:04 ]
微妙に違う。
ファイナライズメソッドの実行順序には何の保証もないという話。

だと思うけどリンク先見てないから確かなことは分からん。



541 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:11:27 ]
>>539
メンバに参照型を持つ場合でも、オブジェクトとして独立してるので
デストラクタが動くタイミングやメモリが回収されるタイミングは不順。
順番が必要な場合はDispose(true)のパターンを使う。

542 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:13:17 ]
あいや、ずっと前に読んだことあるはずでかすかな記憶によると
解放された後っていうか自分で解放してんじねーかよw
って話だったかも…


543 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:48:04 ]
>>537
半年ROMれ。

544 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 18:08:24 ]
>>543
それはない

545 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:47:37 ]
一匹キティが沸いてんな・・・フラットじゃないのに

546 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 21:16:53 ]
フラット!フラット!!

547 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:24:52 ]
質問です。

フォームを2つ使うアプリを作っています。
メニューはメイン側にはありますが、サブ側は何もありません。

で、サブ側にフォーカスがある時に、メイン側のメニューのショートカットを叩いても、
フォーカスがサブ側にあるため、イベントが発動してくれません。
出来ればこのショートカットを共有したいと思っています。

サブ側でもOnKeyDownなんかで同じ関数を呼ぶようにすれば可能といえば可能ですけれど、
あまりにも美しくないなと思ってます。何か上手い方法は無いでしょうか?

548 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:38:50 ]
ほかのウィンドウのイベントが別のウィンドウのショートカットをたたくというのは美しくないだろ。
ルートのフォームまでで処理されなかったイベントがアプリケーションのハンドルで処理されるというのが正しい形だと思う。

549 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:47:27 ]
サブフォームでメインのOnKeyDown呼べばいいじゃん

550 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:50:05 ]
返信ありがとうございます。

>>548
そもそもメインのフォームでイベントを処理している、ってのがおかしいってことですかね?
メインにしろサブにしろ、フォームはイベントを発行するだけで、
その実際の処理はアプリケーション級のオブジェクトがハンドルするわけですか。



551 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 07:35:33 ]
MDIにしる

552 名前:デフォルトの名無しさん [2008/05/28(水) 11:10:54 ]
2重起動を防いで、後から起動された方に渡されたコマンドライン引数を
最初に起動された方に渡したいです。
ttp://dobon.net/vb/dotnet/process/checkprevinstance.html
ここにVB.NETでのやり方が書いてあり、C#でも似たようなことは出来ると思ったんですが
Microsoft.VisualBasic.ApplicationServices
これが存在しないエラーというが発生しました。
C#だと別のプロセスにデータを渡したりって事が無理なんでしょうか?

553 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:20:52 ]
参照の追加

554 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:21:18 ]
それでやるなら該当のdll参照すれ

555 名前:デフォルトの名無しさん [2008/05/28(水) 11:31:31 ]
>>553
>>554
参照追加したらありました。
たんにusingを記述するだけじゃダメだったんですね。
これでなんとかなりそうです。
ありがとうございました。

556 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 11:37:44 ]
ttp://blogs.dion.ne.jp/anis7742/archives/6905607.html
ここでも聞いてるやついるな。
当たり前すぎて書かないからなー、普通。

557 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 14:13:09 ]
なんつう偉そうなコメントだw

558 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:16:03 ]
なぜSystem.Arrayクラスから派生クラスを作れないんですか?

559 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:17:31 ]
CLR的に配列は特別なオブジェクトだから

560 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 21:55:06 ]
System.Arrayクラスから派生クラスが作れると何の不都合があるんですか?



561 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:15:37 ]
CLRべったりの低レベルで特殊な実装になってるから派生したところでどうせ何もできないよ
っていうかSystem.Arrayなんかそんなによく使うか?
IList使えよ

562 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:20:42 ]
CLR自体、StringとかArrayとか、その内部構造自体に
依存した最適化がかかってるからだ、
ってどっかにあった希ガス。

563 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:14:13 ]
C++だとコンストラクタは出来るだけ初期化のみにした方がいいけど、
C#では初期化以外にもメソッド呼び出したり処理を始めちゃってもいいの?

564 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:15:32 ]
いいよ

565 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:30:20 ]
いかんよ


566 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:51:19 ]
C++でコンストラクタでは継承先でオーバーライドされる仮想関数は呼べないんだったっけ
C#では出来るよ

567 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:03:33 ]
>>563
してもいいけど、内容によっては立ち上がりが異常に時間がかかるプログラムになる。
その場合、最小限の初期化コンストラクタとクラス初期化メソッドを作る場合もある。

568 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 11:53:48 ]
visual studioみたいなGUIのソフト作りたいんですけど
そのためのサンプルとか無いでしょうか?
具体的には
フォームにメニューがいくつかあって
ツールボックスがあって
左側にはエクスプローラ的な表示があって
下側にはテキストのログウィンドウがあって
残りの領域にはMDIの子フォームを生成するようなGUIです。
いかがでしょうか。


569 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:01:25 ]
Visual StudioというGUIのサンプルがそこにあるではないか。


570 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:09:14 ]
Visual Studio のドッキングを自前でがんばったらマジで死ねるなw



571 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:14:20 ]
Visual Studio以上の物ができたら教えてね
試してあげるから

572 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 17:24:15 ]
DockPanelSuiteマジオススメ

573 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:41:08 ]
MonoDevelopのソースじゃ参考にならんか…

574 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:43:22 ]
>>572
すげーなこれw

575 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 19:49:33 ]
>>572
凄いが、これを駆使したプログラムを少人数で作る気になれない。

576 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 20:04:01 ]
ttp://www.codeplex.com/sdock
made in Japan!

577 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:52:40 ]
WinFormsか・・・
WPF版がほしい。

578 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:24:21 ]
>>577
お前はこっち池カス

WPF(XAML,XBAP,.NET3.5)GUIプログラミング
pc11.2ch.net/test/read.cgi/tech/1211453941/

579 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 05:22:08 ]
C#からWin32APIを使って子プロセスを起動し、
Win32APIのCreatePipe, WriteFile, ReadFileを用いてプロセス間通信をしようとしています

このとき、立ち上げた子プロセスはコマンドを標準入力から読み込みんで処理をし、
結果を標準出力へコマンドごとに出力し、入力にEOFが来たら終了、みたいなプログラムです

ここで、子プロセスがEOFを認識してくれず、子プロセスが終了してくれません
なにかいい方法があるのでしょうか?
それともWin32APIの質問ということでよその板の方がいいでしょうか?

やっていること:
ハンドルを用意
親プロセスが無名パイプを作成する
パイプの一端のハンドルAを継承可能にする
STARTUPINFO構造体のhStdInputに継承可能にしたパイプのハンドルAを指定
CreateProcess()
継承可能にしたパイプのハンドルAを閉じる
パイプの閉じていない方のハンドルBにWriteFile()
ハンドルBを閉じる ←ここで子プロセスに終了してもらいたい

よろしくお願いします



580 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 06:02:32 ]
そもそもWin32API使う意味がいったいどこに?



581 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 06:08:55 ]
C++でパイプを使った経験があったのでパイプをやろうとして、
C#でパイプをやるためにWin32APIを使うことにしました

582 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 06:18:59 ]
ProcessStartInfo.RedirectStandardInput
Process.StandardInput
この辺使う

583 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 06:59:47 ]
なるほど
他プロセスの標準入出力を通した通信は明示的なパイプ以外に用意されていたのですね
自分で調べてた限りでは見つかってなかった情報なのでとても助かりました
試してみます
ありがとうございました

584 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:37:20 ]
string str = File.GetLastWriteTime(Path).ToString();
このようにファイルの最終更新時間を取得すると、
そのファイルのプロセスが使用中のままになるのですが、
CloseやDisposeのようにすぐに開放させるにはどうすればいいのでしょうか?

585 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 11:06:44 ]
ならんが

586 名前:584 mailto:sage [2008/05/30(金) 11:10:07 ]
すみません。
File.GetLastWriteTimeのせいじゃありませんでした。
File.GetLastWriteTimeタンごめんんささい。

587 名前:File.GetLast mailto:sage [2008/05/30(金) 22:49:58 ]
んもー


588 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:36:30 ]
何言ってんだお前らは?釣りか?
|  問  1
|(ア) (イ) (ウ) (エ) (オ)
|D D D D D
|C C C C C
|B B B B B
|A A A A A
|@ @ @ @ @


589 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:37:34 ]
誤爆りました。スマソ

590 名前:579 mailto:sage [2008/05/31(土) 05:59:48 ]
アドバイスいただけた方法でうまくいったので(ありがとうございます)報告します
ちょっとはまった点としては、
改行コードをWriteしてもフラッシュされない
 →出力がほしい時はちゃんとフラッシュ
子プロセスのStdinに対するエンコーディングはProcessStartInfoから設定できない
 →StandardInput.BaseStreamを取得して新しくStreamWriterを作る
ぐらいでした
当初の問題だったEOF云々は、Process.StandardInputのストリームを閉じると
問題なく処理されました

求めていた処理を考えていたやりかたよりずっと簡単に得られたので大満足です



591 名前:デフォルトの名無しさん [2008/05/31(土) 17:29:19 ]
今、とあるゲームの画面の各部をキャプチャして画面を認識し、指定した部分をクリックしたり文字を送ったりするプログラムを作っています。

VisualC#のデバッグモードで動かしていると、画面上の指定部分をキャプチャする関数の中で使っている、Graphics.GetHdc()の部分で、
「ArgumentExceptionはハンドルされませんでした。  使用されたパラメータが有効ではありません」
のメッセージがでて止まってしまいます。10回に1回くらいの頻度かな。
ローカル画面で変数の値をチェックしても、キャプチャ範囲に異常な値は無く(bmpのサイズなど正常)、何でこうなるのか心当たりがありましたら指摘してもらないでしょうか。
#複数の呼び出し元から、この関数が同時に呼び出されているときにこんなことおこるのかな・・・?

ちなみに、キャプチャやってる関数を下に貼り付けてみます。
-----------
public Bitmap CapturePartFromA(int[] capval)
{
//capval[] はキャプチャ範囲を収めた配列。ここでは[3]と[4]のみ利用
Bitmap bmp;
//座標系を変換する関数の戻り値保存用
int[] xxx = new int[4] { 0, 0, 0, 0 };
IntPtr hWnd = FindWindow("A Game", null);
RECT winRect2 = new RECT();
GetWindowRect(hWnd, ref winRect2);
//座標を変換する関数(クライアントの原点←→デスクトップの原点)
xxx = ConvertCoordinates(capval);
bmp = new Bitmap(capval[3], capval[4]);
Graphics g = Graphics.FromImage(bmp);
IntPtr hDC = g.GetHdc(); //←ここで 例外頻発
IntPtr winDC = GetDC(hWnd);
BitBlt(hDC, 0, 0, bmp.Width, bmp.Height, winDC, xxx[0], xxx[1], SRCCOPY);
g.ReleaseHdc(hDC);
g.Dispose();
ReleaseDC(hWnd, winDC);
return bmp;
}


592 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 17:44:08 ]
>>591
チートスレ池

593 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 19:41:13 ]
MMORPGの自動プログラムを作ってどうする、それほど他を出し抜きたいのか?
こんな所に来るな。

594 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:52:58 ]
C# = D♭

595 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 15:20:56 ]
>>591
評:もっとオブラートに包んだ質問のやりかたを覚えましょう。

596 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:22:52 ]
エロシーンまだ?

597 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:27:52 ]
せめて「GUIのテストを自動化したいです」位のうそをつく常識を持て

598 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:48:59 ]
HttpWebRequest使ってゆうちょダイレクトのサイトから振り込み状況を確認するアプリ作ってるんだけど、
誰かできた人いる?
UserAgentとかいじってもなぜかはじかれる。
同じアプリでほかのhttpsサイトとかはログインできるんだけどなぁ。

599 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:02:32 ]
いません

600 名前:591 [2008/06/01(日) 20:49:22 ]
ここで知恵ある人いるかと思ったのですが・・・残念。
自助努力するしかないですね。
どうもでした。




601 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:49:25 ]
なぜかって、なんのエラーで帰ってきてるの?

602 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:21:28 ]
UDP通信で、C#のクライアントにVC++のCプログラムからソケットでメッセージを送って表示
しているのですが。漢字が正しく表示できません。何かのコード指定だと思うのですが、
探してみたのですが見つからず。よろしければ教えてください。
C++の手順
WSAStartup(MAKEWORD(2,0), &wsaData);
sock = socket(AF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(XXXXX); // 送信先のポート番号
addr.sin_addr.S_un.S_addr = inet_addr("XXXXXXXX"); // 送信先のIP
sendto(sock, str2.c_str(), str2.size(), 0, (struct sockaddr *)&addr, sizeof(addr));
closesocket(sock);
WSACleanup();
必要であればC#受け側も出します。
ちなみにc++側のプロジェクトの文字コードを有る分変えても変わりませんでした。

603 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:25:33 ]
C#側も書こう

604 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:26:42 ]
文字コード意識せずにネットワークとか

大方StreamReaderをEncoding未指定でnewしてんだろ

605 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:32:39 ]
技術ある人はゆうちょダイレクトにログインするプログラムをC#でHttpWebRequestつかって組んでみてほしい。
思いのほかはまるよ。

606 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:33:57 ]
>>601
サーバー側のエラーで帰ってきてログイン不可能。
エラーコードが書いてあるけど、意味がわからないので対応が難航してる。



607 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:36:26 ]
>>606(=605)
そのエラーコードを書けってことじゃないのか?
イミが分からないとか、技術ある人は作ってみ?とか
根本的にダメダメwww

608 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:38:18 ]
サーバー側(cgi)のエラーコードなんてC#とまったく関係ないから書かなかっただけだが。

609 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:40:27 ]
>>608
オマエには無理って事で終了

610 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:42:59 ]
TP1/Webのエラーコードっぽいけどな。
マニュアルある人ならわかるかもしれん。
今ゆうちょダイレクトメンテ中でエラーコード再取得できなかった。



611 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:43:26 ]
>>609
お前には聞いてないってw

612 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:45:14 ]
>>603  >>604の指摘でC#側を見て下記の点ではないかと思い
enc = System.Text.Encoding.UTF8;
// enc = System.Text.Encoding.Unicode;
// enc = System.Text.Encoding.BigEndianUnicode;
localPort = XXXXX;
udp = new System.Net.Sockets.UdpClient(localPort);

コメント部分を追加してみましたが変えましたが、半角英数もまともに表示できなかったです。
元々はUTF8でした。 何がいけないのだろう?

613 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:45:51 ]
逆ギレw

614 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:47:03 ]
技術もないのにあおるだけのアホは放って置いてできる人よろしく!

615 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:50:06 ]
>>614
ここで聞く前に、先ず質問の仕方を勉強してきてね

616 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:51:20 ]
だなw

617 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:52:55 ]
>>615,616
キメェw

618 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:55:16 ]
ゆうちょダイレクトは特に妙なところはなかったように記憶しているけど、
どこでひっかかってるの?
今確認しようとしたら、ちょうどサービス停止中だな。

619 名前:デフォルトの名無しさん mailto:age [2008/06/01(日) 23:03:10 ]
C# 側のコードです。 どのコードを指定しても正しく表示されなかった。orz
System.Net.Sockets.UdpClient udp;
private Button button1;
System.Text.Encoding enc;

enc = System.Text.Encoding.UTF8;
// enc = System.Text.Encoding.UTF7;
// enc = System.Text.Encoding.ASCII;
// enc = System.Text.Encoding.Unicode;
// enc = System.Text.Encoding.BigEndianUnicode;
localPort = XXXXXX;
udp = new System.Net.Sockets.Udp

System.Net.IPEndPoint remoteEP = null;
byte[] rcvBytes = udp.Receive(ref remoteEP);
string rcvMsg = enc.GetString(rcvBytes);

udp.Close();

バッファーを見たら、シフトJISが送られてくるようでした。
わからない…orz


620 名前:デフォルトの名無しさん mailto:age [2008/06/01(日) 23:05:29 ]
一部切れていました。
udp = new System.Net.Sockets.UdpClient(localPort);




621 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:08:29 ]
Shift_JISで送られてきてるのにUTF-8でデコードとかおかしいと思わないか?

622 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:11:50 ]
思わないでーす






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef