C# 搭建DotNetty客户端

http://blog.csdn.net/u013244192/article/details/68091210

以下是DotNetty开源项目

https://github.com/Azure/DotNetty

我得出的结论:(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.用抓包去看编码的内容。然而基础太弱根本没有看懂。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值