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


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



1 名前:デフォルトの名無しさん(ワッチョイ 5394-4hBO) mailto:sage [2016/12/27(火) 02:07:41.47 ID:HrGPkQcW0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part125
echo.2ch.net/test/read.cgi/tech/1475930006/

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467211515/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configure

702 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) [2017/02/20(月) 07:23:54.57 ID:73+nzjfL0.net]
>>683
日本では回避ツール作るのも違法。

703 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 10:04:48.66 ID:Vf7595PK0.net]
>>687
yield returnというのを忘れていました

引数のthisを忘れていたのに拡張メソッドみたいに呼べたのが不思議です。エラー出ると思ってました

704 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 11:08:17.98 ID:M0lXkX5gM.net]
文字列ポインタを返すC言語のwin32 dll を VS2005のWindowsアプリで利用しているのですが、今までWindowsXPで動作していたものをWindows7で動作させると関数から戻ってくる時に死んでしまいます。情報を送信する旨のダイアログの出るヤツです。

<hoge.dll>
BYTE msg[1024];
BYTE* WINAPI hoge(WORD w)
{
sprintf(msg, "xxx");
return msg;
}
<FormMain.vb>
<DllImport("hoge.dll")>Public Shared Sub hoge(Byval w As Int16) As String
End Function

Dim msg As String = Space(1024)

Call部分-> msg = hoge(0)

dllで領域確保した文字列ポインタをvbで領域確保したString型に代入している部分がおかしいのでしょうか?
同じやり方の別アプリはWindows7でも問題なく動作しているらしいです。
回避策としては、StringBuilderを引数にして情報を取得する方法を考えてますが、原因を知りたいです。
何かヒントを頂けないでしょうか。よろしくお願いします。

705 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/20(月) 12:12:58.76 ID:OgBdAYpra.net]
>>692
ここC#のスレだよw
インポートした関数のシグネチャはそれで間違ってないと思う
(戻り値の文字列の種類の明示的な指定がない以外は)

だから間違いはそこに書かれていないところにある気がする
知らんけど

706 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 13:06:34.63 ID:M0lXkX5gM.net]
>>692
失礼しました。自分が普段C#使ってていつも見ているもので、思わず質問してしまいました。

Stringって純粋な参照型じゃないので、dll内の文字列がアプリ側の確保されたStringにコピーされるものなのか、どうなのか?
と思って質問しました。

問題ないようですので、他の部分を当たってみます。

ありがとうございました。

707 名前:デフォルトの名無しさん (スフッ Sd7f-LjcY) mailto:sage [2017/02/20(月) 13:28:11.49 ID:vCAMt98Xd.net]
ビット数とかかねえ

708 名前:デフォルトの名無しさん (ワッチョイ eb19-sbgu) mailto:sage [2017/02/20(月) 14:07:41.64 ID:w4qWsIgy0.net]
DllImportで返値にStringを使うと対象アドレスのメモリを解放しようとするからその辺のせいかな
ポインタが返される場合IntPtrで受け取るべき
文字列ならMarshal.PtrToStringAuto(/Ansi/Uni)で変換

709 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/20(月) 14:54:15.70 ID:OgBdAYpra.net]
あーここにそんなこと書いてあるな
https://msdn.microsoft.com/ja-jp/library/x3t

710 名前:xb6xc.aspx
全然知らんかったw
文字列を戻り値で返すような関数使ったことないし。
こういう重要な話を辺鄙なページにだけさらっと書くのやめてほしいよな

余計なお世話のようだけど、よく考えたらポインタでもらっておかないと
手動で開放しようがないんだからまあ当然といえば当然の処置か
[]
[ここ壊れてます]



711 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/20(月) 15:20:01.73 ID:2ibs+hQta.net]
>>692そのままでもvb側でLPCSTRだって指定してやれば動きそう。LPWSTRとして処理して動かなくなってるんじゃないかな

712 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) mailto:sage [2017/02/20(月) 15:52:07.71 ID:73+nzjfL0.net]
vb使うとアホになるからな。

713 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 15:55:20.33 ID:M0lXkX5gM.net]
>>696
>>697
有益な情報、ありがとうございました。

少なくとも、あまりよろしくないコードだったって事ですよね。
今までまともに動作してたのはたまたま?

とりあえずIntPtrで受けてMarshal.PtrToStringAnsiで文字列に変換するとうまくいきました。

714 名前:デフォルトの名無しさん (ワキゲー MM7f-iYFJ) mailto:sage [2017/02/20(月) 19:15:05.48 ID:jZ2IzQ6sM.net]
>>698
DllImport.CharSetの既定値はAnsi

715 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/20(月) 20:06:09.92 ID:i/9URA2G0.net]
WPFの勉強を始めたんですが、動的にコントロールを追加していく場合、
デザイン側(XAML)のコードではなくC#のコードに生成と追加ロジックを書いて増やすしかないんですよね?

コントロールのデザインはXAMLでするけど、それのインスタンス生成はC#側でするという理解でいいのでしょうか?

716 名前:デフォルトの名無しさん (ワッチョイ 5f30-O7jY) mailto:sage [2017/02/20(月) 20:56:23.77 ID:DEynAIXr0.net]
どういうコントロールかに寄るんじゃねーの
ItemsControlが使えるようなケースならコードで生成なんかしないだろう

717 名前:デフォルトの名無しさん (ワッチョイ 8b7b-iYFJ) mailto:sage [2017/02/20(月) 20:59:03.92 ID:ZcW/L6QM0.net]
大体ItemsControlとその派生クラス+DataTemplateでまかなえる

718 名前:デフォルトの名無しさん (ワッチョイ df4c-6bgE) mailto:sage [2017/02/20(月) 21:18:59.61 ID:c6eY6nM80.net]
>>702
アイテム類?

719 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/20(月) 21:19:02.98 ID:La0YxfKFM.net]
>>702
C#からコントロールを追加するんじゃなくて、
1. C#がコレクションに対してデータオブジェクト(コントロールではない!)を追加する
2. コレクションのバインド先のコントロールのDataTemplateに従ってコントロールが生成される
という仕組み
まあでも最近はUWPではそのへんのWPF時代の複雑怪奇な仕組みを使わずに
イージーにC#からコントロールを触っちゃうケースも多くなっているので、
普通にコードビハインドでコントロール作ってもいいと思うよ

720 名前:デフォルトの名無しさん (ワッチョイ 6bdc-FKuk) mailto:sage [2017/02/20(月) 21:35:53.40 ID:K6NHiZ6b0.net]
Reactみたいに仮想DOMを導入してテンプレートエンジン感覚でXAML書けるようにしてほしいわ
ControlTemplateを駆使した複雑怪奇なバインディングはWPFが失敗した大きな要因の一つ



721 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 22:42:28.62 ID:Vf7595PK0.net]
数独を解くアルゴリズムがどうしても自分で作れなかったのでCのソースをLINQ使わずにC#に書き直しました
でももうちょっとアルゴリズムについて理解を深めたいのですが、どうすれば深められますか?

722 名前:デフォルトの名無しさん (ワントンキン MM7f-yXFx) mailto:sage [2017/02/20(月) 22:44:42.03 ID:SIhte37HM.net]
数学を勉強する

723 名前:デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ) mailto:sage [2017/02/20(月) 23:41:44.10 ID:mClGTBrk0.net]
アルゴリズムの本を読むとか、

プログラミング・コンテスト
AOJ(AIZU ONLINE JUDGE、会津大学)
Topcoder, Google Code Jam

724 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/21(火) 01:16:12.37 ID:zJ/N/+AdM.net]
>>708
アルゴリズムで大事なのは細かい操作ではなくルール
ルールで考えられるようになるには関数型言語を学ぶのが一番近道だと思う

725 名前:デフォルトの名無しさん (ワッチョイ 5b3c-8pXy) mailto:sage [2017/02/21(火) 02:14:21.50 ID:R0f1kRGV0.net]
専ブラを作りたいんですが
何を参考にやっていけば良いでしょうか

c#の入門文法書を読んでVS2015でフォームアプリのプロジェクト作成しました

726 名前:デフォルトの名無しさん (スプッッ Sd7f-QCKt) mailto:sage [2017/02/21(火) 07:35:28.82 ID:N8MlGejAd.net]
OpenJaneのソースを読む

727 名前:デフォルトの名無しさん (ブーイモ MM7f-9g8o) [2017/02/21(火) 08:20:20.91 ID:QZgbo1BXM.net]
APIになってから新規参入できんの?

728 名前:デフォルトの名無しさん (ブーイモ MM1f-S2Ow) mailto:sage [2017/02/21(火) 10:29:01.70 ID:zahF8gYKM.net]
普通のブラウザが読めるんだから
なにもAPI頼らんでもいいんじゃないか?
ブラウザの表記と履歴がクソなだけだから
それを使い勝手いいようにしただけの専ブラはあってもいい

729 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/21(火) 19:34:36.64 ID:cHX/MaIe0.net]
TextBoxだけが2つあるフォームで、Enterが押された際に、2つとも値が入力されている場合だけフォームを閉じるようにしたいのですが、
TextBoxにAcceptButtonと同じ機能を持たせるにはどうしたらいいでしょうか。

730 名前:デフォルトの名無しさん (ワッチョイ db17-QCKt) mailto:sage [2017/02/21(火) 20:40:59.99 ID:iji2PQkS0.net]
KeyDownでEnterを取得してTextBoxの中身をチェックして分岐



731 名前:デフォルトの名無しさん (ワッチョイ 0f5e-P9CU) mailto:sage [2017/02/21(火) 20:48:25.46 ID:R7uSuoR20.net]
>>716
TextBox2つとFormでEnter入力待って
Enter入力されたときにTextBoxの内容チェックしたらいいだけじゃない?
AcceptButtonは知らなかったけど別にボタン作って無いとだめみたいだし
ボタン別に作った方がUIとしてはわかりやすいと思うけど

732 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/21(火) 21:36:29.50 ID:OY4bcTcha.net]
>>716
いっちゃなんだけどセンスないUIだねw

733 名前:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O) mailto:sage [2017/02/21(火) 21:41:21.06 ID:Kul562Pw0.net]
>>715
APIに頼らずにウェブスクレイピングを使った専ブラの開発/公開は
禁止されているんじゃなかった?

734 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/21(火) 21:41:57.12 ID:OY4bcTcha.net]
まあ批判するだけじゃアレなんで、そういうの普通はさ、
検証結果がOKならAcceptButtonをイネーブルにするのが正攻法だと思うよ

735 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/21(火) 21:48:44.09 ID:rWOcc73ca.net]
センスないUIが使いやすいシーンあるからな。分かっててそうすること多い。>>717は違うだろうがw
エンターがあったら入力されてるか調べて、入力されてたらフラグ立ててClose()呼べば

736 名前:デフォルトの名無しさん (ワッチョイ 4fce-qUVP) mailto:sage [2017/02/22(水) 04:06:31.98 ID:BUDCRKLi0.net]
結局最後にEnter押させるならAcceptButtonで正しいか判定すればいいんじゃないの
KeyDownで捕捉とかAcceptButtonイネーブルとかアホみたいよ

737 名前:デフォルトの名無しさん (ワッチョイ 5f90-XdR7) mailto:sage [2017/02/22(水) 04:41:08.56 ID:OP1dthjc0.net]
まずtextbox2つに何か入力されている状態でEnter押すと閉じるってどういう状況で使うのか気になる

738 名前:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O) mailto:sage [2017/02/22(水) 05:19:23.28 ID:4Le3p92K0.net]
C#でDirectShowを使ってサーバーからデータを受信してストリーミング再生をしようと思っているのですが、
ストリーミングしながら再生する場合、10秒、20秒先にシークする時にデータを取得できていないと
シークできないと思うのですが、シークしたい位置までデータが取得できているかどうかを、どうやって確認したらいいのでしょうか?

739 名前:デフォルトの名無しさん (ワッチョイ db17-QCKt) mailto:sage [2017/02/22(水) 06:36:28.96 ID:S8XiJiJW0.net]
できなくていいじゃん
YouTubeでも未取得部分までシークしたら一瞬止まってそこから再取得でしょ

740 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/22(水) 10:41:54.09 ID:IUleyyqVa.net]
>>723
それだとNGの時何らかのメッセージを、ほとんどの場合はモーダルの
メッセージボックスを使って表示することになるが、これが鬱陶しい。

だからOK



741 名前:フ場合のみ何らかのアクションが可能になるようにしたい、というところまでは
>>716は妥当。
[]
[ここ壊れてます]

742 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/22(水) 10:48:43.23 ID:gHr01PmWa.net]
条件満たすまでokボタン無効化

743 名前:デフォルトの名無しさん (スフッ Sd7f-LjcY) mailto:sage [2017/02/22(水) 11:33:04.49 ID:+pPmbeWDd.net]
ついでにtextbox赤色にでもしとけ

744 名前:デフォルトの名無しさん (ワッチョイ 6f37-eq+O) mailto:sage [2017/02/22(水) 13:11:12.83 ID:NE6Tq68d0.net]
>>771
たしか「twinテール」とかいう使えなくなった2chブラウザがC#で書かれていたので参考にしてみてはいかが

745 名前:デフォルトの名無しさん (ワッチョイ 1e7b-8lb6) mailto:sage [2017/02/23(木) 01:11:41.53 ID:IxVO5ZJu0.net]
>>726
言葉足らずでしたすいません。
シークした際に取得したデータより先であれば、シークできる最大の位置から再生したいので、
取得できているデータの最大秒数を知りたいと質問したかったんです。

746 名前:デフォルトの名無しさん (ワッチョイ 1e9d-d4M5) [2017/02/23(木) 20:19:27.12 ID:cRI54QPm0.net]
C#ってWEBもデスクトップアプリもVisual Studioでいいの?

747 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 20:42:44.96 ID:boStFqTs0.net]
いいよ
別にVisual Studioじゃなくてもいいよ

748 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 21:03:52.53 ID:SDiG8DJL0.net]
C#のような欠陥言語はVSじゃないと使い物にならないよ。

749 名前:デフォルトの名無しさん (ブーイモ MMef-o4aT) mailto:sage [2017/02/23(木) 21:38:51.04 ID:5vR45Ym7M.net]
そもそもRADで使うことを前提に設計された言語だから当たり前
ヘイトになってない

750 名前:デフォルトの名無しさん (スフッ Sdaa-i5z9) mailto:sage [2017/02/23(木) 22:14:55.27 ID:IXRr1zZLd.net]
まだイーマックスに固執してる奴いるのか



751 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/23(木) 22:19:16.99 ID:osMc+8cAM.net]
Javaは環境整えるのめんどくさいしエコシステムが洗練されない素人仕事って感じだし言語機能貧弱だし色々クソすぎて速攻で切り捨てた
C#は良く出来てる

752 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:21:06.99 ID:SDiG8DJL0.net]
var data = b.GetData();

varで一気に欠陥言語となった。
ライブラリ丸暗記してるか、マウスカーソルで指さないと型が分からないとかマジ欠陥言語。

753 名前:デフォルトの名無しさん (ワッチョイ 533c-uVIS) mailto:sage [2017/02/23(木) 22:21:19.22 ID:VhvYxHZG0.net]
何を使おうが、成果物と生産性が全てよ

そりゃ、言語によってある程度機能の優劣が無いとは言わないが
究極的には、「使う奴がその言語に習熟してるかどうか」に帰結する話なので
他言語との比較戦争はやめとけ

754 名前:デフォルトの名無しさん (ワッチョイ cfd6-8lb6) mailto:sage [2017/02/23(木) 22:25:13.45 ID:/zzReBsa0.net]
>>738
おじいちゃんはおうちにかえりましょうねー

755 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:30:40.75 ID:SDiG8DJL0.net]
>>740
無職はいいなぁ。

756 名前:デフォルトの名無しさん (ワッチョイ 2777-h8GH) mailto:sage [2017/02/23(木) 22:32:06.38 ID:Gcuw8dft0.net]
>>738
C++にすら、autoって型推論が追加になったわけだが。

757 名前:デフォルトの名無しさん (ワッチョイ bb99-bdSd) mailto:sage [2017/02/23(木) 22:34:18.39 ID:OjaB8M7n0.net]
え?型推論のない言語があるの?

758 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/23(木) 22:34:28.26 ID:osMc+8cAM.net]
varがダメな人って変数のスコープがやたら長かったりクラスの責務が複数あったりメソッド名がわかりにくい印象がある

759 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:40:33.39 ID:SDiG8DJL0.net]
はるか昔、C++も糞化、オナニー言語になって捨てられて、シンプル化したJavaやC#に多くが逃げてきた。
すると、言語オタク馬鹿がJavaとC#でオナニーを始めたというだけ。
C#は幸運にも普及する前に糞化してくれたので被害者は少ないが、Javaは相当被害者が出るだろう。

まぁ、未だ.net2.0 + winform案件の多さからしてほんとトンデモ擁護してる輩は無職だろうな。

760 名前:デフォルトの名無しさん (ワッチョイ 8a23-d4M5) mailto:sage [2017/02/23(木) 22:41:51.99 ID:LD/mBXzl0.net]
varに噛み付く割にはdynamicをスルーなんだよな
結局知らない人だって自白しているようなものです



761 名前:デフォルトの名無しさん (ワッチョイ 4613-i5z9) mailto:sage [2017/02/23(木) 23:11:03.64 ID:STaIjfZE0.net]
自分の理解できない仕様を含む言語は全部糞なんだな

762 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 23:13:19.44 ID:boStFqTs0.net]
>>738
斬新な意見やな

763 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/23(木) 23:13:57.36 ID:fEmyL96O0.net]
C#のすごいところはvarの使用を禁止できることなんだよね

764 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 23:14:34.97 ID:boStFqTs0.net]
>>738
>マウスカーソルで指さないと
あとキーボード使うといいと思うよ

765 名前:デフォルトの名無しさん (スフッ Sdaa-Hx5d) mailto:sage [2017/02/23(木) 23:19:03.31 ID:fCBY3OKed.net]
逆だよなぁ。
その型が変わったとしても帳尻合わせるために直接関係のない部分を直さんで済む。
型推論を横着するための機能と考えるから変な話になってくる。

766 名前:デフォルトの名無しさん (ワッチョイ 0a4a-d4M5) mailto:sage [2017/02/23(木) 23:57:02.37 ID:Xdm75SB30.net]
マウスカーソル当てないと推論できない頭なんだろ
察して差し上げろ

767 名前:デフォルトの名無しさん (ワッチョイ 0ecb-NqGB) mailto:sage [2017/02/24(金) 00:09:58.97 ID:sMce7DLg0.net]
使ってないソースのが圧倒的に読みやすいけどね

768 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/24(金) 00:24:57.75 ID:Oi+tTZOha.net]
varの話はもうほとんどボケ老人の繰り言だねw
論点は出尽くしてるし結論も明らか(だから採用されている)のによく飽きないなと思うわ。

769 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/24(金) 00:26:20.78 ID:Oi+tTZOha.net]
あれだ、もうネトウヨが8月になると朝生とか見て毎年毎年同じこと言ってるのとよく似てるわw

770 名前:デフォルトの名無しさん (ワッチョイ 4613-i5z9) mailto:sage [2017/02/24(金) 00:34:06.16 ID:KvudGu/Z0.net]
Action<・・・>とかTask<・・・>とか型推論なしでいちいち書いとれんわ



771 名前:デフォルトの名無しさん (ワッチョイ 533c-LVYP) mailto:sage [2017/02/24(金) 03:35:06.91 ID:DZX2b5jN0.net]
>>756
IEnumarableもだよね

772 名前:デフォルトの名無しさん (ワッチョイ ca30-bdSd) mailto:sage [2017/02/24(金) 05:44:47.60 ID:7M0bhqrr0.net]
ド低脳と仕事をしているために未だにC#2.0相当のコーディングを強いられているというのが真相である
無職はいいなあという発言がそれを物語っている

ド低脳と仕事せざるを得ない状況にあるのは自分がド低脳なせいだとは知る由もない
なぜならド低脳だから

773 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/24(金) 07:33:10.08 ID:MgbB+KPvM.net]
ジャップランドだとレベルの低い同僚に合わせないといけないからね

774 名前:デフォルトの名無しさん (ワッチョイ bb3c-xMKC) mailto:sage [2017/02/24(金) 08:17:18.01 ID:YSZ/aLRo0.net]
これが自分が高レベルだと勘違いしてる人にありがちな考え方ですよ〜
初心者の皆さんはよ〜く覚えておきましょうね〜

775 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 11:34:57.57 ID:rumrh9icM.net]
別PC上でソケット通信のサーバのソフトが動作しています。
そのソフトにクライアントとして接続するアプリです。

今までサーバソフトが動作するPCがXPの時は問題なく接続できていたのですが、
windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。

using System.Net.Sockets;

TcpClient myClient = new TcpClient();

myClient.Connect(IPaddress, port);

何か他に設定等必要なのでしょうか?

776 名前:デフォルトの名無しさん (ワッチョイ a3c0-d4M5) mailto:sage [2017/02/24(金) 11:39:55.37 ID:WmxnDnjh0.net]
>>761
Windows7のファイアーウォール設定で接続ポートが塞がれているんじゃね

777 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 11:53:52.45 ID:rumrh9icM.net]
>>762

情報不足ですみません。
ファイアーウォールは全て無効にしています。
今、念のため全てのポートを開放してみましたが状況変わらずです。

Windows7のPCは、セットアップした素の状態にネットワーク設定して、ファイアーウォール無効にしただけの状態です。
少なくとも2台のWindows7でこの現象を確認しています。

778 名前:デフォルトの名無しさん (ワッチョイ 2719-YZdX) mailto:sage [2017/02/24(金) 12:47:58.59 ID:og9jdWQJ0.net]
pingが通るか確認する
アドレスとポート番号を確認する

779 名前:デフォルトの名無しさん (ワッチョイ 8a3c-9513) mailto:sage [2017/02/24(金) 12:53:29.50 ID:YZGHPd2K0.net]
>>761
> windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。
サーバープロセスが動いてない
サーバー側で netstat -a やってみ

>>762
ポート塞がれてたらたいてい接続タイムアウトになる

780 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 13:40:28.43 ID:rumrh9icM.net]
サーバのソフトを確認してもらいました。

従来、
IPHostEntry hst;
hst = Dns.GetHostEntry(Dns.GetHostName());
TcpListener server = new TcpListener(hst.AddressList[0], port番号);

としてたところ、
IPAddress.Any にすると接続できるようになりました。

OSによって挙動が変わる理由は何故でしょうか?



781 名前:デフォルトの名無しさん (ワッチョイ 2719-YZdX) mailto:sage [2017/02/24(金) 13:55:20.36 ID:og9jdWQJ0.net]
IPv6のアドレスが[0]に入ってたとかそんなんじゃね

782 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 14:11:36.34 ID:rumrh9icM.net]
>>767

確認してもらったところ、おっしゃるとおりIPv6が入ってました。

どーもお騒がせしました。

783 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 03:11:03.30 ID:bkNRV9RG0.net]
HttpWebRequestクラスを継承して派生クラスを作るのはひょっとして不可能ですか?
引数なしの親コンストラクタないって言われてしまうのですが・・・

784 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/25(土) 03:29:06.72 ID:IvVV1H8V0.net]
そうみたい
Extension使えば
stackoverflow.com/questions/400565/is-there-any-way-to-inherit-a-class-without-constructors-in-net

785 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 06:00:38.63 ID:bkNRV9RG0.net]
Cookieの設定をもっと楽にしようとSetCookie()メソッドを作ってみようってだけだったので・・・
ラッパーにしてしまえば呼び出し方法は変わりますが、何かデメリットありますか?

786 名前:デフォルトの名無しさん (ワッチョイ 7f7b-xV3R) mailto:sage [2017/02/25(土) 14:21:15.52 ID:xOc+8hLN0.net]
目的がそれだけなら拡張メソッドで良いよ

787 名前:デフォルトの名無しさん (ワッチョイ 8a11-bM86) mailto:sage [2017/02/25(土) 17:39:57.89 ID:55IAItyF0.net]
System.IO.File.Copy でファイルをコピーしようとしたら、コピー先のドライブの空き容量が足らないのに
例外が発生しないで(何もキャッチされず)進んでいきます。
コピーが正常完了していない場合は、どのようにエラーをキャッチしたらいいですか?

788 名前:デフォルトの名無しさん (ワッチョイ 1e5e-d4M5) mailto:sage [2017/02/25(土) 17:48:38.25 ID:Zzp1j43Z0.net]
>>773
書き込んだ先のFile.Existsとサイズ確認したら

789 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/25(土) 17:54:59.90 ID:IfKbzrsTa.net]
>>773
試したら例外でたぞ

790 名前:772 (ワッチョイ 8a11-bM86) mailto:sage [2017/02/25(土) 18:04:57.59 ID:55IAItyF0.net]
>>774
そのやり方で正常か確認します。

>>775
どのような内容で例外が出てきましたか?



791 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/25(土) 18:07:41.25 ID:IfKbzrsTa.net]
Messageは容量がたりませんって

792 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/25(土) 18:21:10.66 ID:5cuy11p+a.net]
Task

793 名前:に投げっぱなしで例外が来ないと文句言ってるなんてオチだったりして []
[ここ壊れてます]

794 名前:772 (ワッチョイ 8a11-bM86) mailto:sage [2017/02/25(土) 18:30:16.63 ID:55IAItyF0.net]
>>777
今は、コピー先のドライブをUSBメモリで試してるのですが、やはり例外は発生しません。
違う環境だったら発生するかもしれませんので色々試してみます。

>>778
コピー処理はTaskでマルチスレッド内で処理してます。
でも、他の例外はキャッチできるので、なぜCopyメソッドだけがスルーされるかが気になります。

795 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/25(土) 18:39:04.29 ID:5cuy11p+a.net]
あー遅延書き込み(だっけ?)がらみの問題かなあ

USBとかネットワーク上のドライブだと書き込み中に切断されても例外が起こらないような
気がしたなあそういえば

796 名前:デフォルトの名無しさん (アウアウオー Sac2-pore) mailto:sage [2017/02/25(土) 19:49:09.43 ID:IfKbzrsTa.net]
例外キャッチコードが悪いのかも

797 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 20:01:30.35 ID:bkNRV9RG0.net]
>>772
盲点でした!あとHttpWebRequestのHeadersプロパティについてなんですが、既存のプロパティをHeadersプロパティで代入しようとするとエラーが出ます
Headersプロパティのほうに統一したいのですが方法はないのでしょうか?

798 名前:デフォルトの名無しさん (ワッチョイ 7f7b-xV3R) mailto:sage [2017/02/25(土) 20:22:43.20 ID:xOc+8hLN0.net]
そっちはどうしようもないはず
せいぜいSetHeaderとかいう拡張メソッド作ってその中で
既存のプロパティならプロパティ設定に流すぐらいかな

799 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/26(日) 17:58:17.52 ID:nIUORy8+0.net]
そうですか、ありがとうございます
こういった自分で作った拡張メソッドを他のプロジェクト(今はC#のみ将来的にはC++もあるかも)でも使って行きたいのですがどうするのが吉でしょうか?
クラスライブラリ(dll)として作るのが一番良いのでしょうか?

800 名前:デフォルトの名無しさん (ブーイモ MMef-nCc/) mailto:sage [2017/02/26(日) 18:10:10.17 ID:58FG/mcmM.net]
そういう小物はコピペの方がいい
依存関係やバージョン管理が複雑になりすぎる



801 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/26(日) 18:37:26.98 ID:/2VmdLBu0.net]
>>782
Enum使ってもダメ?
Headers[HttpRequestHeader.Accept]

802 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/27(月) 04:44:19.84 ID:Ar8/UbRm0.net]
だめでした
req.Headers[HttpRequestHeader.Accept] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
上記のもので試しましたが、ArgumentExceptionが出ます






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

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

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