C# 搭建DotNetty客户端

来源:一只呆毛 发布时间:2018-11-21 15:39:39 阅读量:1383

我得出的结论:(2017年3月29日) 

1.DotNetty 只能通过 vs 2017 进行加载;(vs 2013添加项目后报错:vs error : 项目的默认 XML 命名空间必须为 MSBuild XML 命名空间 

—— 去github上找是否有人提问,发现两个关键信息如下图——>于是从nuget着手!) 




2.不能使用marshal进行通信。(Netty是可以的,通过JBoss的Marshalling进行实现。)


1.搭建测试项目(原先用winForm程序进行测试,发现不好使,不方便输出一些信息。遂改成用ConsoleApp进行测试) 

2.仿照Example文件夹中的例子进行编码(这应该是除了网上的实例外最好的教科书了),结果发送后执行ChannelReadComplete方法但是不执行ChannelRead方法。(估计是编码不对应的原因,server端用marshal,client端用LengthFieldBasedFrameDecoder,具体原因估计要去研究Netty了。。)


关于Marshall的解决方案和探讨


既然DotNetty没有现成的Marshall,那么有几个思路: 

1.jBoss-Marshall C# 去搜索 | 别人写好的Marshall C#版本(找到微软有Marshall,但是和 DotNetty 中IChannel对应不上) 

2.通过JBoss-Marshall的源码去尝试用C#翻译,但是发现太底层太复杂了,根本看不懂; 

3.用抓包去看编码的内容。然而基础太弱根本没有看懂。

--------------------- 



标签: 服务器搭建
分享:
评论:
你还没有登录,请先