IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Dotnetty ClosedChannelException I/O error occurred 异常原因 -> 正文阅读

[网络协议]Dotnetty ClosedChannelException I/O error occurred 异常原因

症状

? ? 折磨了我一整天,在单独的console application下好好的,集成到一块就在 bootstrap.BindAsync()处抛出?ClosedChannelException “I/O error occurred" 异常,也没有其他有价值的信息了。集成环境与console app的区别有3处:

  1. 集成环境是在asp.net core3.1中;
  2. 集成环境是通过反射加载的;
  3. 集成环境中,还有一个地方用到了Dotnetty。

分析

  1. ?是不是 asp.net core 不支持udp server(我用Dotnetty来开启udp server)?? 答案是支持;
  2. ?是不是Dotnetty对内存啥的有限制?这个在unity论坛上有人问,Dotnetty本身不存在这个问题;
  3. 是不是反射创建udp server这个操作异端了?以前也这么干过啊...wtf

跟踪

? ? 把引用Dotnetty的nuget都换成github代码编译后的本地dll引用,这样可以跟踪到Dotnetty里面的异常,然并卵,在console app下可以跟进去,在集成环境中就是跟不进去。我观察两者生成的dll文件,发现了不同:

? ? console app引用的Dotnetty*.dll文件居然与集成环境的不一样?!原来集成环境中,另一处使用Dotnetty是通过nuget,console app引用的是本地编译后的,并且nuget的覆盖了本地编译的,造成了版本冲突!从ClosedChannelException 怎么也想不到是这个问题啊。

解决办法

? ? 确保所有引用的 Dotnetty*.dll 均同源,再运行就好了。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:59:17  更:2021-07-31 17:00:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:25:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码