忍者ブログ
  • 2025.05«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • » 2025.07
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2025/06/30 15:22 】 |
重複して始まらないBeginAcceptTcpClient
EndAcceptTcpClientごとにスレッドが作成されるのかと思ったら、1スレッドしか作成できないらしい。何のための非同期なんだろう。。。1つ目のTcpClient作成後に、別の要求があっても2つ目のスレッドは作成されないで1つ目のTcpClientが終了するまでコールバックが呼ばれない。。。うむむ。
Public Sub run()

  Dim socks As clsSocket() = New clsSocket(1) {}
  Dim waits As Threading.WaitHandle() = New Threading.WaitHandle(socks.Length - 1) {}
  Debug.Print(Threading.Thread.CurrentThread.ManagedThreadId)
  mServer.Start(socks.Length - 1)
  Do
    For i As Integer = 0 To socks.Length - 1
      Dim wrkIdx As Integer = i
      If waits(wrkIdx) Is Nothing Then

        socks(wrkIdx) = New clsSocket(mIGetMessage)
        waits(wrkIdx) = mServer.BeginAcceptTcpClient(Sub(aISyncResult As IAsyncResult)

                                 Debug.Print(Threading.Thread.CurrentThread.ManagedThreadId)
                                 socks(wrkIdx).Begin(mServer.EndAcceptTcpClient(aISyncResult).GetStream())

                               End Sub, Nothing).AsyncWaitHandle

      End If
    Next

    waits(Threading.EventWaitHandle.WaitAny(waits)) = Nothing
  Loop

End Sub

拍手[0回]

PR
【2018/03/18 13:48 】 | javascript | 有り難いご意見(2)
CentOS7 + ibus
CentOSのアップグレードをかけたらIMEがchromeで効かなくなった・・・


【引用】ibus-based IMEs may not work with Google Chrome after rebooting the computer
修正前

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

修正後

export GTK_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=xim
解決したなりー。
なんかこの記載方法を昔してダメだったような気がするのでバグが直った感じかな。

拍手[0回]

【2017/08/21 10:39 】 | 未選択 | 有り難いご意見(0)
コンパネに行けないWin10 アップデート
衝撃を受けた。 メニュー右クリックからコンパネが消えた。 同じこと思っている人がいたので1票入れておいたなり。

拍手[0回]

【2017/08/18 20:24 】 | 未選択 | 有り難いご意見(0)
LocalOnWrite on PowerShell
$gv=9686

$funcs = @(
{
	echo "GlobalOnRead"
	$lv = $gv
	Write-Output $lv
}
,
{
	echo "CopyOnWrite"
	$lv = $gv
	$lv += 5050 - 9686
	Write-Output $lv
}
,
{
	echo "LocalOnWrite"
	$lv = $gv
	$gv += 5050 - 9686
	Write-Output ([String]$lv + ":" + $gv)
}
)

for($i = 0; $i -lt $funcs.length; $i++)
{
	Write-Output $funcs[$i].invoke()
}
結果
GlobalOnRead
9686
CopyOnWrite
5050
LocalOnWrite
9686:-4636

PowerShellでのグローバル変数は参照のみ。
変数の値を書き込むやいなや、ローカル変数扱いとなる。
Pythonだとブロック内に書き込むロジックがある時点で
ブロックの最初が参照だったらコンパイルエラーになった気がする。

もちろん、配列メンバへの更新はグローバル変数扱い!

拍手[0回]

【2016/12/21 06:35 】 | PowerShell | 有り難いご意見(0)
期待できないExpect
Expectを使えるか試してみようと「sed」と対話するスクリプトを作った結果・・・
●スクリプト
#!/bin/expect -f
 
spawn sed -e "s/Q/A/g"
set timeout 1
 
send -raw "Q\n"
expect {
        -re "A" {puts "OK!"}
}

send -raw "Q\n"
expect {
        -re "Q" {puts "No Change!"}
}
 
send -raw "Q\n"
expect {
        -re "B" {puts "Wrong!"}
}
 
close
 
exit
●結果
spawn sed -e s/Q/A/g
Q
A
OK!
Q
No Change!
A
Q
A
なぜに、sendした文字も拾ってるんだーーーー。orz

拍手[0回]

【2015/05/05 16:49 】 | linux | 有り難いご意見(2)
前ページ | ホーム | 次ページ

忍者ブログ [PR]