私は非常に単純なスレッドループを持っています
public void ClientLoop(object AContext)
{
var context = (ZMQ.Context) AContext;
Socket client = CreateServerSocket(context);
while (true)
{
try
{
Context.Poller(requestTimeout*1000, client);
}
catch (Exception e)
{
if (e.Errno == ETERM)
{
//Catch a termination error.
Debug.WriteLine("Terminated! 1");
return;
}
}
}
}
そして、次のような破棄
public void Dispose()
{
_context.Dispose();
}
クライアント ソケットは、linger を 0 に設定し、ポーラー in ハンドラーを設定して作成されます。ソケットはリクエストソケットでもあります。
dispose が呼び出されると、ポーラーの excepts が呼び出され、try except ブロックに分類されます。しかし、私が思っていたように処分が続かない。これは、ZGuide がコンテキストとソケットの破棄を処理するように指示する方法ですが、この場合は機能していないようです。
私は何を逃したのですか?