折腾半天发现, 只能在 控制台应用程序下正常运行  ?
在windows应用程序下 连接服务端后就马上断开了  现象:在所有代码不动的情况下 只要把属性中的应用程序类型更改为 控制台应用程序 就正常了
 结论?DotNetty 只能运行在控制台下?
当然不可能是这样的  求大神指教 ?网上搜到的代码都是一样的 ,真不知道那些用winfrom是怎么实现的?还是哪有特殊操作?
代码就不复制了 完全就是git上的最新源码

解决方案 »

  1.   

    你的代码可能是在 Program 的 Main 函数里面,
    Main 函数执行完成后,你的程序就关闭了 —— 然后就表现为断开。你试着开个 线程来做你的事情 —— 应该就没事了。
      

  2.   

    学会提问。代码就不复制了 完全就是git上的最新源码
    ---
    你这么说,就是要回答你的问题,大家还要上git,搜索到这个项目,下载下来,使用IDE打开,再仔细研究代码?
      

  3.   

    正常,一般写在控制台的标准代码,如下using(xxxx yy=xxxxxx)
    {  //读取阻塞
       readline()
    }看上面的东西,你自己能想明白问题在那里么?其实原因比较简单, readline阻塞了using释放yy的过程。你改成winform,一样放program.cs里,因为你不能阻塞他,所以你会注销那代码,那么using就把yy给释放了。原因我们告诉你了,动动脑筋想想,怎么才能让他不被释放。(手段太多,我不详说了,这个玩意估计你自己搞得定)
      

  4.   

    因为瞬间执行完毕
    你需要开一个单独的永不结束的线程。
    另外dotnetty 最好用.net core 2.0/2.1
      

  5.   

    DotNetty 只能运行在控制台应用
    -----------------------------------通讯框架都是分为服务端和客户端,服务端运行在console 或者windows services 上在winform 上面运行的是通讯框架的客户端;请求回复式的通讯可以在主线程同步/异步执行;如果是双工通讯的客户端在winform 使用线程进行通讯状态维护、数据接收、负载均衡等。