做一个网络通讯程序(Tcp和Udp)通讯这部分做成通讯类的形式,请问如何与其它窗体传递信息

把通讯这部分做成通讯类的形式,请问如何与其它窗体传递信息,也就是我这里有多个窗体要通讯,怎么知道接收到的信息是哪个窗体要的?怎么传递给这个窗体?

每个窗体都进行连接 来确定? 

给每个消息添加唯一识别码
处理消息单独一个进程

都跟窗体干上了,咋又是窗体。

在说一句,没有窗体。

任务自己描述我要什么

任务一:我只想要美女
任务2: 我只想要明星,男女都无所谓,只要他是明星

对了就这样,你想要什么告诉他

  tcp中心.我想要的信息(p=>p is 美女)
  tcp中心.我想要的信息(p=>p is 美女  and p 是四川的)

对,没有窗体,你自己想干什么,把要求给分发中心,有四川美女来了,他自然会给你弄过来

相当错误的观点,虽然你们说我废话多

不过错误观点需要澄清,不是人少,而是XX园10年的分层,DDD,EF,asp.net mvc,asp.net core,设计模式这种废物技术的堆 叠,强调让大多数net程序员,根本就忘记了如何去写代码,除了XX园这些日复一日废物讨论,其他技术和观念都停留在10年前的状态

最直接的证据,你去看张善友的博文,最少在6年前,8年前他都在玩ETL,在玩rx,netmq,但是其他人呢?问问你们自己,这6,7年你们在干什么

这6年唯一被人接受的新状态就是linq了,这不是XX园的功劳,这还是这里几个版主喜欢玩,没事就给你们推推

比如俺们张善友同学,6年告诉你们有netmq,rx.net

楼主这项目其实就能用上,但是我并没有直接推荐给楼主,因为以目前的状态,这些东西大多数人还无法接受。话说netmq出来有10年把,无法接受的人依旧不少

task出来也有10年了把,但这里依旧是timer,线程满天飞,甚至日复一日的回复4种timer的区别,这东西20年前的人才折腾把

不敢苟同。看看人气值就知道那个板块火,那个板块沉寂。据我所知搞互联网、移动开发的人比搞桌面开发的人多的太多了。

这不是窗体的问题 跟窗体啥的没关系

假如客户端发送的数据有规则 比如  total{
form:1,
data:{........}
},
 total{
form:2,
data:{........}
}

这样是不是就能判断了 

还有如果每个tcp推送的端口不一致 是不是也能判断了  form 1  8080端口  form 2 8081端口 

具体得看你的项目需求 业务场景 有很多解决办法的呀

如果你用的是tcp,是基于连接的,服务器每连一个客户端就得多一个socket实例,怎么就区分不了是谁发过来的数据了?哪个socket收到的数据就是对应的客户端发的呗。

我是初学者,不是很懂,还没入门,请问,这个不是窗体的问题,那我的这些信息交互在哪里完成?你说的分发中心指什么?C#的窗体外的东西还有哪些?方便给些资料信息吗?

你说的方法我明白,可是这个消息如何推送到各窗体?委托吗?现在遇到了委托不好用,在显示上出现了“在不是创建控件论坛发帖机的线程上操作此控件”的跨线程问题,不知是哪儿不对?

谢楼上各位!还有一问题:这两天测程序发现,我的程序运行后CPU占到50%-60%了,未运行时CPU仅用百分之几,Win10系统,16G内存,I5四核。后来发现,是我程序中起动线程造成的,我的线程是这样儿的,还是与UDP通讯有关:
UDP监听接收线程

    接收数据,把整帧数据做一个Item加入一个list中;

对应协义解析线程

            if (接收数据list.Count>0)//说明有数据
            {
                       做解析处理
            }

不知为什么这个解析线程一开启就占30-40的CPU使用率,求解!
如果不要这个解析线程 ,而在接收线程中直接对接收数据解析的话,那么就没这个现象了,CPU仅在百分之几下运行。

没猜错的话你的解析线程是个死循环吧?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值