9-5之后有代码吗,我按着视频敲写完毕后,代码运行报的有错,想跟老师的代码对比下

来源:9-5 文件消息模型基础实现-3

慕粉3333946

2022-01-20

9-5之后有代码吗,我按着视频敲写完毕后,代码运行报的有错,想跟老师的代码对比下
java.nio.channels.AsynchronousCloseException
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205)
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:387)
at qiujuer.library.clink.utils.core.IoArgs.readFrom(IoArgs.java:28)
at qiujuer.library.clink.utils.impl.async.AsyncSendDispatcher.provideIoArgs(AsyncSendDispatcher.java:124)
at qiujuer.library.clink.utils.impl.SocketChannelAdapter2.canProviderOutput(SocketChannelAdapter.java:98)atqiujuer.library.clink.utils.core.IoProvider2.canProviderOutput(SocketChannelAdapter.java:98) at qiujuer.library.clink.utils.core.IoProvider2.canProviderOutput(SocketChannelAdapter.java:98)atqiujuer.library.clink.utils.core.IoProviderHandleOutputCallback.run(IoProvider.java:28)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Exception in thread “IoProvider-Output-Thread-3” java.lang.NullPointerException
at qiujuer.library.clink.utils.impl.SocketChannelAdapter2.canProviderOutput(SocketChannelAdapter.java:101)atqiujuer.library.clink.utils.core.IoProvider2.canProviderOutput(SocketChannelAdapter.java:101) at qiujuer.library.clink.utils.core.IoProvider2.canProviderOutput(SocketChannelAdapter.java:101)atqiujuer.library.clink.utils.core.IoProviderHandleOutputCallback.run(IoProvider.java:28)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
图片描述
客户端第一次发送消息,服务端也能收到,随后客户端就报了这个错,然后无法发送消息

写回答

1回答

Qiujuer

2022-01-24

有代码的呀,在主文件夹里边了;课程也有交代的呀,在这个节后的内容都在同一个文件夹中了,然后利用git来管理差异;这样也方便大家看区分。


你的这个错误是通道已被关闭的错误,你可以在另外一端的代码上检查一下看看是不是有异常;另外这边的代码中的关闭操作也看看是不有触发。这些你可以添加日志输出来定位问题。

当然你也可以直接拿稳定的代码运行来看实际的效果。课程的代码是可以运行起来的。

0
0

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2316 学习 · 476 问题

查看课程