我正在尝试编写自己的TCP套接字。我知道Java已经有了这个,但我想写一些自己的练习。为了清楚起见,我不打算使用现有的Java套接字编写客户端/服务器 - 我想编写自己的套接字类。
我认为这样做的方法是使用Selector
和SocketChannel
,但我不确定这是否是最好的方法。我正在查看ServerSocket
的源代码,我看到他们使用SocketImpl
,但我很确定它都是阻塞的,所以我不认为我想这样做。
我想实现bind
,listen
,accept
,read
和write
,其中listen
侦听连接socket和accept
接受连接并返回套接字。
我打算使用与此处给出的内容类似的代码:http://www.exampledepot.com/egs/java.nio/NbClient.html
选择器找出可用的内容,然后我可以定期接受那里的内容。
我想我只是想知道我的方法在我编写之前是否会起作用,我想知道这是否已在其他任何地方实现。我没有找到任何直接的异步tcp套接字实现,所以如果有人知道我可以在哪里得到它,那将是美妙的!
感谢。