1) ソケットは、プロセスが終了するまで LocalEndPoint からバインド解除されないようです。
2)他の質問の解決策を試しましたが、少し待ってみましたが、役に立ちませんでした。
3)現時点では、ソケットとその接続を取り除くために以下を試しました:
public static void killUser(User victim)
{
LingerOption lo = new LingerOption(false, 0);
victim.connectedSocket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Linger, lo);
victim.connectedSocket.Shutdown(SocketShutdown.Both);
victim.connectedSocket.Disconnect(true);
victim.connectedSocket.Close();
clients.RemoveAt(victim.ID);
}
4) 少しグーグルで検索した後、ポートのバインドを解除できないようです。したがって、十分な量の接続クライアントがある場合、最終的にリッスンするポートが不足します。