Преобразовать блокирующий объект Socket в сокет SocketChannel? - PullRequest
0 голосов
/ 20 ноября 2011

Это может звучать странно. Я создал игровой сервер на основе потока на структуру сокета (да, только один поток на пользователя; ответы отправляются клиентам рабочими потоками). Поток, который я создаю, сначала аутентифицирует пользователя и обрабатывает вход в систему, после этого он только получает данные и ставит их в очередь для обработки. Часть аутентификации очень важна и требует много времени для реализации, и потребуется много времени, чтобы реализовать ее снова, поэтому я подумал, после завершения аутентификации, можно ли преобразовать имеющийся у меня сокет блокировки в сокет SocketChannel, чтобы селектор мог обрабатывать свои сообщения неблокирующим образом?

1 Ответ

2 голосов
/ 20 ноября 2011

Вы не можете.Вы должны начать с SocketChannel, затем вы можете использовать socket () из него в режиме блокировки или сам канал в режиме блокировки или неблокирования.

...