求助

Dev_Han 2018-03-11 12:02:16

有大牛帮忙看看问题出在哪里了。
...全文
407 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
圣殿骑士18 2018-03-12
  • 打赏
  • 举报
回复
而且不知道你的目的是什么,一个WebSocketBehavior,是一个独立的处理线程,明明OnMessge处理最好的方式就是在WebSocketBehavior的派生类内部直接处理就行了,你非得用委托,弄到最外部的WinForm的窗体上,还搞什么txtInfo.Text赋值,这就是主动制造跨线程问题。 我的感觉是,明明可以没问题的,非得制造出一堆问题,干嘛。
圣殿骑士18 2018-03-12
  • 打赏
  • 举报
回复
引用 2 楼 hm283691724 的回复:
[quote=引用 1 楼 daixf_csdn 的回复:] 很多东西不清楚, 你客户端怎么连接的并不清楚; 什么时机和场景触发的OnMessage并不能清楚; 另外吐槽一下你的代码结构,把服务的启动写在一个会话里边,很爽么?用点单例就很牛逼么?这种反业务的设计除了标新立异,把程序搞复杂外没什么好处。 我们应该知道,一个服务会有多个会话,是1:n的关系,那先启动服务,再创建一个会话,这种标准写法不就很好么?
先别说我代码结构 现在我的客户端是可以正常连接的,消息也可以收到 。 我是想用委托把收到的信息展示到前台界面,但是WSMessage总提示为null[/quote] 我的意思就是:细节并不清楚,所以需要调试才知道问题;程序结构没理由复杂化,用最简化的代码试试。
Dev_Han 2018-03-12
  • 打赏
  • 举报
回复
引用 4 楼 daixf_csdn 的回复:
而且不知道你的目的是什么,一个WebSocketBehavior,是一个独立的处理线程,明明OnMessge处理最好的方式就是在WebSocketBehavior的派生类内部直接处理就行了,你非得用委托,弄到最外部的WinForm的窗体上,还搞什么txtInfo.Text赋值,这就是主动制造跨线程问题。 我的感觉是,明明可以没问题的,非得制造出一堆问题,干嘛。
我做安卓的,对.net不是太懂,如果是在派生类内部处理的话 ,怎么样能把客户端发的信息展示到winform窗体上? 像一个即时通讯的 ,我客户端send后,服务端这边直接接收并显示出来。
圣殿骑士18 2018-03-12
  • 打赏
  • 举报
回复
原因我看出来了,你注意这句话 AddWebSocketService<Conn>("/") 这里的Conn是类,AddWebSocketService对根据这个类,自己在内部创建一个Conn对象,这个Conn对象,并不是你外部用GetConnectInfo获取的Conn对象。 所以新Conn对象里,委托未绑定就对了。 说到底,它就没给你机会来绑定委托,它自己创建Conn对象,而并不用你给创建的对象。
Dev_Han 2018-03-11
  • 打赏
  • 举报
回复
引用 1 楼 daixf_csdn 的回复:
很多东西不清楚, 你客户端怎么连接的并不清楚; 什么时机和场景触发的OnMessage并不能清楚; 另外吐槽一下你的代码结构,把服务的启动写在一个会话里边,很爽么?用点单例就很牛逼么?这种反业务的设计除了标新立异,把程序搞复杂外没什么好处。 我们应该知道,一个服务会有多个会话,是1:n的关系,那先启动服务,再创建一个会话,这种标准写法不就很好么?
先别说我代码结构 现在我的客户端是可以正常连接的,消息也可以收到 。 我是想用委托把收到的信息展示到前台界面,但是WSMessage总提示为null
圣殿骑士18 2018-03-11
  • 打赏
  • 举报
回复
很多东西不清楚, 你客户端怎么连接的并不清楚; 什么时机和场景触发的OnMessage并不能清楚; 另外吐槽一下你的代码结构,把服务的启动写在一个会话里边,很爽么?用点单例就很牛逼么?这种反业务的设计除了标新立异,把程序搞复杂外没什么好处。 我们应该知道,一个服务会有多个会话,是1:n的关系,那先启动服务,再创建一个会话,这种标准写法不就很好么?

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧