[quote=引用 2 楼 以专业开发人员为伍的回复:]客户端程序端口随机,怎么会固定端口?你写的是什么“客户端”概念呢?
我想问一下哈,如果一个网口,两个TCP通讯,有竞争吗?
就是一个程序,只不过多加了一个TCP,一个负责发送指令,一个负责接受数据,这样的话接收得数据就是纯数据。不掺杂指令回传值!
客户端也可以指定端口,虽然没必然,但指定也没问题。关键是accept/connect
[quote=引用 14 楼 wanghui0380的回复:]如果说下位机支持多机连接,并且下位机是数据推送,那么都可以不用修改啥 把你的程序复制两份(一份去掉采集和分发,一份去掉上位机指令执行),然后告诉后面的人,要执行指令请连A,要采集的请连B 如果下位机支持多机,但下位机是不支持数据推送,需要你轮询查询 还是上面的策略复制两份(份去掉采集和分发,一份去掉上位机指令执行,然后告诉后面的人,要执行指令请连A,要采集的请连B。同时加上A发送采集指令(使用rpc也好,传统tcp也罢,甚至是ipc,管道等进程间通讯)给B,让他启动B的轮询拉数据并转发过程 ----------------------------- 如果下位机不支持多机(比如那是一个串口,虽然串口我们也能用手段把他分成一对多虚拟口,这手段是万不得已采用),那么你只能使用一个代理程序,这时候你可以把数据操作快速中转出去,把解析和分发过程延迟给另外的服务。 比如下位机回馈数据原封不动用进程间通讯手段丢到另外进程去,然后解析别轮询发送了,直接丢一份到MQ里去,然后需要数据的自己去mq里取。
如果说下位机支持多机连接,并且下位机是数据推送,那么都可以不用修改啥 把你的程序复制两份(一份去掉采集和分发,一份去掉上位机指令执行),然后告诉后面的人,要执行指令请连A,要采集的请连B 如果下位机支持多机,但下位机是不支持数据推送,需要你轮询查询 还是上面的策略复制两份(份去掉采集和分发,一份去掉上位机指令执行,然后告诉后面的人,要执行指令请连A,要采集的请连B。同时加上A发送采集指令(使用rpc也好,传统tcp也罢,甚至是ipc,管道等进程间通讯)给B,让他启动B的轮询拉数据并转发过程 ----------------------------- 如果下位机不支持多机(比如那是一个串口,虽然串口我们也能用手段把他分成一对多虚拟口,这手段是万不得已采用),那么你只能使用一个代理程序,这时候你可以把数据操作快速中转出去,把解析和分发过程延迟给另外的服务。 比如下位机回馈数据原封不动用进程间通讯手段丢到另外进程去,然后解析别轮询发送了,直接丢一份到MQ里去,然后需要数据的自己去mq里取。
客户端程序端口随机,怎么会固定端口?你写的是什么“客户端”概念呢?
[quote=引用 18 楼 qq_37750663 的回复:] [quote=引用 17 楼 以专业开发人员为伍的回复:]对于客户端来说,它本身就是随机端口的,什么叫做“服务器和客户端port得对应”?实在是匪夷所思。
[quote=引用 17 楼 以专业开发人员为伍的回复:]对于客户端来说,它本身就是随机端口的,什么叫做“服务器和客户端port得对应”?实在是匪夷所思。
对于客户端来说,它本身就是随机端口的,什么叫做“服务器和客户端port得对应”?实在是匪夷所思。
110,571
社区成员
642,568
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧