X



C#, C♯, C#相談室 Part94
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 935f-5Uxj)
垢版 |
2019/03/20(水) 18:57:36.47ID:ZZcTomnN0
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0804デフォルトの名無しさん (ラクッペペ MM7f-xEoX)
垢版 |
2021/10/19(火) 19:26:02.78ID:NUYGeUrwM
デッドロックとは
対策に徹夜で3日以上かかるバグの事を指す
0807デフォルトの名無しさん (ワッチョイ 0f2c-4HJo)
垢版 |
2021/10/19(火) 22:15:54.02ID:P+gkhAFH0
組み込みの資格の問題集では、
デッドロックは、資源のたすき掛け

タスクA が、資源X, Y の順にロックして、
タスクB が、資源Y, X の順にロックする

ここで、どのタイミングでデッドロックが起きるか、という問題
0809デフォルトの名無しさん (アウアウウー Sacf-mxW8)
垢版 |
2021/10/20(水) 09:16:14.30ID:OEiI06HQa
>>804
発見に3日以上
対策は3秒
だろ
0810デフォルトの名無しさん (アウアウウー Sacf-mxW8)
垢版 |
2021/10/20(水) 09:18:08.43ID:OEiI06HQa
>>806
OK
0811789 (ワッチョイ ef4b-0ECy)
垢版 |
2021/10/20(水) 09:47:41.27ID:JvBM85mK0
最初から説明すると、やりたいのは.NET5のWorkerServiceで作成したWindowsサービスの状態をタスクトレイに表示することです。
Windowsサービスから直接タスクトレイに表示する事が出来ないということで、タスクトレイ表示用のフォームアプリを作成。
両者間でプロセス間通信を行い、フォームアプリからWorkerServiceへの問い合わせという形では問題なく通信できました。
※フォームアプリ:送信専用/WorkerService:受信専用

ただ、WorkerServiceの状態が変わるのは希なことなので、フォームアプリから頻繁に問い合わせるのは無駄が多いので、
フォームアプリからWorkerServiceへの接続以外はWorkerService側からのPush通信を行うように修正しました。
フォームアプリ:受信待機、WorkerService:送信。WorkerService:受信待機、フォームアプリ:送信のテストは正常に終わりました。
送信はいつ発生するかわからないため、双方を受信待機にしたところ、その状態では送信が出来ません。
受信待機状態で無ければ送信出来るのは確認しているので、受信待機を解除出来れば送信出来ると考え、その方法を探している途中です。

>>806
上に書いているとおり、受信待機状態で無ければ送信できます。もちろん、受信待機状態で相手から送信されれば受信できます。
実際にテストし、確認しています。
0812789 (ワッチョイ ef4b-0ECy)
垢版 |
2021/10/20(水) 10:34:02.67ID:JvBM85mK0
>>796
コールバック先ではなく、送信用関数の頭でキャンセルするようにしています。
BeginReadの返り値を保存。キャンセルしたい場所でEndReadの引数に渡すようにしているのですが、EndReadを呼び出すとそのままだんまりです。
なので、なにか手順でもあるのかと思い、検索をかけたのですが解決法がわからないため、ここで質問しました。
0813デフォルトの名無しさん (アウアウウー Sacf-mxW8)
垢版 |
2021/10/20(水) 10:39:51.36ID:OEiI06HQa
>Windowsサービスから直接タスクトレイに表示する事が出来ない

サービスの登録で「デスクトップとの対話を許可」してあれば表示出来ますよ?
0815789 (ワッチョイ ef4b-0ECy)
垢版 |
2021/10/20(水) 10:51:47.47ID:JvBM85mK0
>>813
.NET 5 ではサポートされないと、どこかで読んだ覚えが・・・
参考になるWebPage等あれば教えてください。
直接やった方が単純なので・・・
0816デフォルトの名無しさん (アウアウウー Sacf-mxW8)
垢版 |
2021/10/20(水) 11:37:20.61ID:OEiI06HQa
Windows 管理ツール
→ サービス
サービス名で右クリックしてプロパティ → ダイアログ → ログオン
「デスクトップとの対話をサービスに許可」にチェック

HKLM\\SYSTEM\\CurrentControlSet\\Control\\Windows\\NoInteractiveServices
0にする必要があるかも
0817789 (ワッチョイ ef4b-0ECy)
垢版 |
2021/10/20(水) 14:16:23.47ID:JvBM85mK0
>>816
教えていただきたいのは設定の方法ではなく、.NET 5のServiceWorkerでタスクトレイにアイコンを表示する方法です・・・
0818デフォルトの名無しさん (ワッチョイ 1f2c-tOpD)
垢版 |
2021/10/20(水) 15:27:59.69ID:G+Qou/Ta0
さすがにサービス作るのは面倒だから同一プロセス内で試しただけだけど
BeginRead中に普通にWriteできたよ
NamedPipeXxxStreamをnewする時にPipeOptions.Asynchronous指定してる?
0822デフォルトの名無しさん (アウアウウー Sacf-Avck)
垢版 |
2021/10/20(水) 18:07:28.07ID:jvdlGdZPa
レジ袋有料化みたいな話だね

ただ、批判する意図はないけど、位置の概念がないストリームなら普通「全二重」であるはずだ、
ってのはちょっと考えれば気づけたはずじゃなかなとは思う
0825デフォルトの名無しさん (アウアウウー Sacf-Avck)
垢版 |
2021/10/21(木) 12:25:32.61ID:8qSe0EAma
イキり馬鹿には「普通は」って文字が読めないんだな
0827デフォルトの名無しさん (アウアウウー Sacf-Avck)
垢版 |
2021/10/21(木) 14:41:10.46ID:hTdTaobFa
r/wを排他的にせざるをえない必然性や制約が存在しない限りわざわざ排他的にする合理性はないというだけの話。
馬鹿じゃないの。

というか、例えば2.0までのUSBは物理層が「半二重」だが、上位の層ではそんなことを
意識する必要はないようにしてある。

そんな制約を意識する必要があったらやってられないからだ。
必要もないのにそんな制約を課す馬鹿がどこにいる
0828デフォルトの名無しさん (ワッチョイ 4b97-FvN9)
垢版 |
2021/10/21(木) 16:22:37.02ID:vKSzbwpZ0
双方向に通信できるか、一方向にしか通信できないことと、全二重半二重は別の概念じゃない?
双方向通信になって初めて半二重なのかと考える必要があるし、そもそもIPCをOSのAPIで使ってるときにそんなにシビアに考えることかな?という気がする
0830デフォルトの名無しさん (ワッチョイ fb2f-4HJo)
垢版 |
2021/10/21(木) 22:48:54.75ID:JzKHPePF0
>>825
お前の言う「普通」はお前の思い込みだって指摘だが、普通が読めないとかどっから出てくる話だ

そもそも位置の概念と双方向か片方向かは関係ないし
双方向のストリームは全2重であるべきだって意見なら理解しないではないが
お前の希望が普通に実装されてるとは限らんのだよ
0831デフォルトの名無しさん (アウアウウー Sa45-fDtU)
垢版 |
2021/10/22(金) 03:27:01.26ID:OMPuRiy7a
白鳥は普通白い、というのは全称命題(黒い白鳥はいない)ではない。
イキり馬鹿って本当に馬鹿で笑えるねw

ファイルのように位置の概念があるストリームでは排他的にr/wされたら困るだろうw
馬鹿じゃなかろうかマジで
0833デフォルトの名無しさん (アウアウウー Sa45-fDtU)
垢版 |
2021/10/22(金) 03:58:09.76ID:OMPuRiy7a
最近ヤフコメの規制が話題になってるけど、
webくんだりで他人に居丈高な態度を取る奴の動機の源泉(うだつ上がらない)
なんて見え透いてるよねw

別にうだつ上がらないのは悪くないが(俺もそうだし)
いい歳こいてそういう自分の動機を自覚できないのも、他人から自分がどう見えているかを
意識できないのもかなり痛々しいよねえw
0836デフォルトの名無しさん (ブーイモ MMe6-d2PL)
垢版 |
2021/10/22(金) 08:47:26.63ID:oVr78/SWM
>>831
普通のファイルのシークしながらの読み書きなら困る、はわかるんだけど、
それを一般化して、位置の概念のあるストリームで「普通」成り立つべき性質なのかよくわからない。
後学のために、いい例を教えてくれないか?
0837デフォルトの名無しさん (ワッチョイ 12bd-dMWn)
垢版 |
2021/10/22(金) 11:28:17.10ID:J+jDEcsH0
そもそもファイルストリームって(単一ファイルでは)双方向通信に使えるものじゃないから、
全二重という思い込みがよく分からないし
ワッチョイ的にデッドロックの意味勘違いしてた人っぽいし
全般的に用語の使い方がいい加減な人なんだろうなと思った
0839デフォルトの名無しさん (ワッチョイ 0d2f-iBLV)
垢版 |
2021/10/22(金) 12:08:46.46ID:V0jARYip0
双方向のストリームなら、非排他的にアクセスされると困るという意見ならまあ理解はできる

排他的とか、自分以外のアクセスの話で、自分が全2重でアクセスできるかどうかとは無関係だがな
0841デフォルトの名無しさん (アウアウウー Sa45-fDtU)
垢版 |
2021/10/24(日) 03:48:37.41ID:Ebis89vva
>>837
俺が用語を正確に使ってないのでなく君に読解力がないだけじゃないのかな。

俺はファイルストリームは「半二重」だと言ってるんだよ。わざわざ括弧を付けて。
括弧を付けているのは全二重/半二重という用語は普通はストリームを対象にした
用語ではないからだ。
0846デフォルトの名無しさん (アウアウウー Sa45-fDtU)
垢版 |
2021/10/24(日) 12:24:26.91ID:kMf1w+hQa
だいたい双方向とか片方向とかいう話がどっから出てくるのw
意味がわからないよ

だから、必要もないのにr/wを排他的にする制約を課す馬鹿っているの?って話をしてるんだけど
0847デフォルトの名無しさん (アウアウウー Sa45-fDtU)
垢版 |
2021/10/24(日) 12:31:01.70ID:kMf1w+hQa
次の展開予想すると、>>843みたいな人はたぶんそれでも片方向/双方向の違いに固執して
「片方向っていうのは片方だけが能動的にr/wすることをいうんだ」みたいな話になるんだろうねw

だから、だから何だよw
この文脈でそれ重要ですか?
0848デフォルトの名無しさん (ワッチョイ 0d2f-/PVD)
垢版 |
2021/10/24(日) 15:32:33.07ID:4lHZz/Ub0
ああ、排他的ってのは自分自身からのリードとライトについて言っているのか
つまりお前の中では、全2重=非排他的 半2重=排他的 ってことなのね
で、片方向っていうのは片方だけが能動的にr/wすること だと

まあこれからも独自路線を行ってくれ。できればひっそりと
0857デフォルトの名無しさん (アウアウウー Sa45-iXiw)
垢版 |
2021/10/25(月) 19:38:31.87ID:L4R2KWZAa
>>852
いい機会だから言っておくか。
それは違う。

言葉というのは置かれた文脈によって意味が変わる、
という中学生でも知っている事実を君が知らないだけじゃないの?

だいたい文脈無視して意味不明な用語法の問題にすり替えて、
それを指摘されてもまだ「おかしいのはお前だ」と言い張る神経が俺には理解できない。
0858デフォルトの名無しさん (アウアウウー Sa45-iXiw)
垢版 |
2021/10/25(月) 19:42:31.57ID:L4R2KWZAa
あと>>833ねw
0859デフォルトの名無しさん (ワッチョイ 1197-d2PL)
垢版 |
2021/10/25(月) 20:07:49.31ID:7NDplVqs0
どうでもいいけど技術的なやり取りをするのに言葉の意味を明確に定義せずにするのは困難しか産まないと思うけどな。

独自用語でもちゃんと定義したらよろしい。

定義なしに文脈によって意味が変わるなんて言ってるのは技術者失格。
0860デフォルトの名無しさん (テテンテンテン MMe6-y5oF)
垢版 |
2021/10/25(月) 22:36:46.73ID:zQaJMovpM
えっちょっと待って
IT用語としての「デッドロック」なんて基本情報レベルな単語だしこの板に書き込むような人なら常識だと思ってたんだけど
>>801なんかはてっきりギャグとして書いてるか、さもなくば
デッドロックって言葉の意味を知らない人を馬鹿にするためにわざと書いてると思ってたんだが
ひょっとして本当に知らなかったの??

でもって無知を恥じるでもなく「読解力」とか言い出して責任転嫁してるの?
「ボクチャンわるくないもん、読み手が馬鹿なのが悪いんだもん」って言ったところで
馬鹿をさらしてる人が言い出したところで説得力ないと思うよ
そのうえさらに自分の語用・論理展開が支離滅裂なのを棚に上げて「文脈」とか言い出して正当化してもなあ
>それを指摘されてもまだ「おかしいのはお前だ」と言い張る神経が俺には理解できない。
その言葉を反芻すべきなのは>>857だと思うよ
0864デフォルトの名無しさん (ワッチョイ 0210-yAT7)
垢版 |
2021/10/26(火) 01:13:31.28ID:qCIhQ9NK0
特定の会社なりグループなりの小さなコミュニティ内で本来の定義とは異なる意味で用語が使われることはある
そのコミュニティ内で齟齬なく意思疎通取れてるならまぁ問題ない
ただその輪から出たら本来の意味でのみ使用すべきだし誤解を招きそうなら補足を入れるなりすればいい

定義にシビアなことが求められる技術者がこういう場で文脈によって変わるとか言っちゃうのはどうかと思う
こういう場というのが便所の落書きじゃん、というなら否定はできんがw
0865デフォルトの名無しさん (ワッチョイ 1d6e-6jfE)
垢版 |
2021/10/26(火) 01:23:54.20ID:ZoC9kawY0
みんなわかっているくせにいつまでも指摘しないのな。

デッドロックは暗礁でも座礁でもない。壊れた錠前のことだ。

https://www.nhk.or.jp/bunken/summary/kotoba/gimon/170.html

IT 用語では、並列処理時に異なるプロセスが、互いが専有するリソースの解放を求めて睨み合い、うごけなくなってしまうリソース競合のことだ。それ以外の意味はない。

一般用語に行き詰まりという意味があったとして、IT 用語としてリソース競合という意味のズバリの状況定義があるのだから、IT に正しい理解がある人間なら、行き詰まりという一般的な意味でこの語を IT 関連の説明に使うことは絶対に避ける。他人に誤解させるし、伝わらないし、紛らわしいのが目に見えているから。

色々な意味で、非常に恥ずかしい部類の誤用。強弁もたいがいにしておくべき。
0869デフォルトの名無しさん (ワッチョイ 2101-qnHn)
垢版 |
2021/10/26(火) 09:42:42.07ID:Lw2w7Q/c0
そもそもdead rockなんて勘違いしてる奴いないじゃん
座礁って言葉使ってる奴はいるけど身動き取れなくなると説明付き
リソース競合ってまた狭い意味だし座礁と同じで狭い意味でデッドロックを使ってる
デッドロック(IT限定)でもプロセス競合のほうがまだまし
しかも競合それ自体には行き詰まりの意味はない
あくまでも競合による行き詰まりがデッドロック
0870デフォルトの名無しさん (ワッチョイ c201-45kF)
垢版 |
2021/10/26(火) 11:09:30.80ID:UqMMY6BB0
座礁がdead rockからきた勘違い
deadlockは身動き取れなくなるという意味はない

語源はdead+lockだから「壊れた錠前」であってるけど
今はその意味で使われることはない
0874デフォルトの名無しさん (スププ Sda2-BqrI)
垢版 |
2021/10/26(火) 12:57:34.74ID:ht6Potv3d
>>865
壊れた錠前では無いよ。
行き詰まりそのもの。
リソースのlock自体、錠前のことではない。
名詞としてのlockは、カギで開け閉めするものに限られるので、リソースなどを指してない。輪留めとか、にっちもさっちもいかない状態とかそういうのを指す。

動詞としては、固定するだよ。
リソースを取得するのにカギが必要なら錠前だろうけど、カギは要らない。
0879ハノン ◆QZaw55cn4c (ワッチョイ 6247-SMpf)
垢版 |
2021/10/26(火) 20:18:17.44ID:YaaA9sXD0
>>878
低頓する、低頓させる、「交渉は賃金問題で行き詰まった」、旺文社シニア英和辞典
行き詰まる、行き詰まらせる、低頓する、低頓させる、研究社リーダーズ英和辞典
0880デフォルトの名無しさん (アウアウウー Sa45-iXiw)
垢版 |
2021/10/26(火) 20:48:48.62ID:eY0tVbdGa
さすがに「言葉の意味は文脈に依存する」ってことを知らない人がこれだけ多いと日本の将来心配になるねw

この業界でデッドロックと言えば普通は非同期処理の文脈におけるデッドロックのことを指す、
これは最初から言っているように間違いない。

ただ必ずそうとは限らないと言ってるだけ。
イキってる皆さんがどう思おうが自由だけど、メソッドが制御を返さない状態のことをその原因を問わずに
「デッドロック」と呼ぶ用法は普通に使われてる。
0881デフォルトの名無しさん (アウアウウー Sa45-iXiw)
垢版 |
2021/10/26(火) 20:52:50.16ID:eY0tVbdGa
そもそもデッドロックの意味とか、片方向と双方向の違いがどうのとか、そんなのどーでもいいわw
誰がそんな話してるんだよw

俺は時々ニュース系の板とかでネトウヨ馬鹿にして楽しませてもらってるけど、
この追いつめられると別の矮小な問題にすり替えて誤魔化して逃げるやり方って
連中そのものだねw
0882デフォルトの名無しさん (ワッチョイ 0d2f-/PVD)
垢版 |
2021/10/26(火) 21:39:59.59ID:5YjTtZfR0
>メソッドが制御を返さない状態のことをその原因を問わずに「デッドロック」と呼ぶ
まあ、たんなるロック待ちをデッドロックというやつはたまにはいるけどな
あきらかに間違ってるわけで、それが普通とかもう話にならん

>追いつめられると別の矮小な問題にすり替えて誤魔化して逃げる
まさに今のお前だな
0884デフォルトの名無しさん (ワッチョイ c201-45kF)
垢版 |
2021/10/26(火) 22:01:25.78ID:UqMMY6BB0
>>878
名詞が動詞化したものだから意味に違いはないよ
自動詞は「デッドロックになる」こと
他動詞は「デッドロックをもたらす」こと

デッドロックとは「相対する2つの勢力が拮抗して事態が進展しない状態」
DBMSのデッドロックも非同期処理のデッドロックも状況が特化してるだけで意味は同じ

座礁は船と岩礁の力が拮抗してるってことなら
その辺に転がってる石ころもdead rockだね
0885デフォルトの名無しさん (ワッチョイ d193-EFWq)
垢版 |
2021/10/26(火) 22:18:18.56ID:+xnJ+mOr0
>>884
deadlockの言う座礁する、座礁させるは日本語では比喩的な使われ方をする座礁だよ
交渉が座礁するとか交渉が暗礁に乗り上げるって意味での座礁
だから名詞じゃなく自(他)動詞
0887デフォルトの名無しさん (ワッチョイ c201-45kF)
垢版 |
2021/10/27(水) 00:14:30.81ID:un5zQ+BD0
>>885
「deadlockの言う座礁する、座礁させる」って何? どこから出てきたの?
deadlockの言う?

交渉が座礁するとは日本語では言わない
交渉が暗礁に乗り上げたとしてもそれがデッドロックとは限らない
単なる待ち状態をデットロックと言ってるのと同じレベル
0891デフォルトの名無しさん (ワッチョイ fd5f-iXiw)
垢版 |
2021/10/27(水) 10:24:03.90ID:t2iD5tO80
>そもそもデッドロックの意味とか、片方向と双方向の違いがどうのとか、そんなのどーでもいいわw
>誰がそんな話してるんだよw

>追いつめられると別の矮小な問題にすり替えて誤魔化して逃げるやり方って連中そのものだねw

まさにこれ
話を逸らすついでにスレ流して汚点を忘れさせようとしてるのが観える
0894デフォルトの名無しさん (ワッチョイ 8901-h3eI)
垢版 |
2021/11/02(火) 21:51:33.93ID:4DiwsCtO0
ニコニコ弾幕ツールを作りたくてプログラミングとC#を初めて触ったのですが
なにか参考になる動画や書籍資料等ないでしょうか?
簡単なメニュー程度なら作れるようになったんですがどうすれば弾幕打てるツールになるのか全く分かりません。
弾幕ツールソースとかでググってもそれっぽいのが全く出ず…
超初心者スレでも聞いたのですが回答もらえなかったのでこちらで…
0895デフォルトの名無しさん (ワッチョイ 136a-jRDL)
垢版 |
2021/11/02(火) 22:21:39.61ID:SO0TQkZV0
>>894
ぐぐるんなら、「ニコニコ動画 コメント api」とかじゃね?
ちょっと古いけど
ttps://qiita.com/tor4kichi/items/74939b49954d3e72d789
こんな感じで以前は出来ていたようです
が、今春にコメントサーバーがリニューアルされているようなので、おそらくは上記の記事そのままではなくなっていると思います
https://blog.nicovideo.jp/niconews/141893.html

ブラウザコントロール上でアレコレさせるのとどっちが楽かは知らん

いずれにしても、言語そのものの知識以外の、httpだとかニコニコの仕様そのものだとかの知識の方が必要かと思います
0896デフォルトの名無しさん (ワッチョイ 8bbb-fCIK)
垢版 |
2021/11/02(火) 22:37:12.36ID:crJtQlzP0
勉強のためにやりたいのなら別だけど・・・・
自分で使いたいとかそういう目的なら、ほとんど完成品みたいなものが既にある
https://www.nuget.org/packages/NicoNico.Net/
0897デフォルトの名無しさん (ワッチョイ 8901-h3eI)
垢版 |
2021/11/02(火) 23:03:38.72ID:4DiwsCtO0
>>895-896
回答ありがとうございます
C#の知識だけじゃ実現できないのですね(;´Д`)
C#の他にJavascriptとかCのAPIですか…3,4年はかかりそうですね…
やったことが無駄にならないことが分かったので頑張ります
0898デフォルトの名無しさん (ワッチョイ 1310-x9M2)
垢版 |
2021/11/03(水) 03:43:52.91ID:Di9oQY4e0
日にどれくらい時間かけるかにもよるけど早い人なら無学から始めても1ヶ月かからんやろ
すでにほとんど完成品といえるようなパッケージがあるならなれてる人なら1日かからず完成する

始めて開発というものをするにあたって半年以上かかりそうなもんはモチベーション続かんから普通はおすすめできない
もしこのコメントツールで年単位で掛かりそうだと感じたならもっと規模の小さい、長くても1ヶ月くらいで完成させられるかな?って想像できるようなものから始めたほうがいいと思うよ
0899デフォルトの名無しさん (テテンテンテン MMeb-nRM3)
垢版 |
2021/11/03(水) 08:25:21.70ID:MLVf2VPVM
>>894
10/20にニコニコ動画関連総合ツールスレで質問して回答もらえなかった人?
そこまでできるようにはなったんだ
ニコ動の弾幕なのか、ニコ生の弾幕なのかわからないけど
・ネットアクセスのやり方(httpclientかなんか)
・WebSocketの使い方(ニコ生のみ)
・jsonの知識
・非同期の使い方
はわかってないとできないと思う
以下を見て理解できるまでがんばって。以下のニコ生・ニコ動の説明は古くてそのまま使っても動きません。
ブラウザーのディペロッパーツールで解析してね。
ニコ生
https://qiita.com/tor4kichi/items/5c438aa11fea5422103b
https://qiita.com/tor4kichi/items/4df5b11ec564bb8f8d16
ニコ動
https://qiita.com/tor4kichi/items/91550a71119f3878bfba
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況