Я пытаюсь написать свой собственный сокет TCP.Я знаю, что в Java это уже есть, но я хочу написать свой для практики.Просто чтобы прояснить, я не пытаюсь написать клиент / сервер с использованием существующих сокетов Java - я хочу написать свой собственный класс сокетов.
Я решил, что способ сделать это - использовать Selector
и SocketChannel
s, но я не уверен, что это лучший способ сделать это.Я искал исходный код для ServerSocket
и вижу, что они используют SocketImpl
, но я уверен, что все это блокирует, поэтому я не думаю, что хочу это делать.
Я хочу реализовать bind
, listen
, accept
, read
и write
, где listen
прослушивает соединение через сокет, а accept
принимает соединение и возвращает сокет.
Я планировал использовать код, подобный приведенному здесь: http://www.exampledepot.com/egs/java.nio/NbClient.html
, где селектор узнает, что доступно, а затем я могу периодически принимать и принимать то, что там.
Думаю, я просто хочу знать, сработает ли мой подход, прежде чем я его напишу, и я хочу знать, был ли он реализован где-либо еще.Я не нашел какой-либо простой реализации асинхронного сокета TCP, так что если бы кто-нибудь знал, где я могу получить это, это было бы замечательно!
Спасибо.