- 主题:socket通信,实时性太差的问题
请教开发过socket客户端的大佬,我弄了个socket客户端,和三菱的PLC做MC通信,实时性非常差,由于三菱的MC协议的报文结构没有报文的ID号,没法做异步通信,我用的是同步通信,很多时候要好几秒钟才能得到PLC的回复。写数据还好,读数据尤其慢,是不是操作系统哪里的设置问题?多线程的时候问题更严重。
--
修改:hengcuiyuan FROM 113.70.65.*
FROM 113.70.65.*
不是你的问题,也不是socket的问题,是三菱的问题,你解决不了。
【 在 hengcuiyuan 的大作中提到: 】
: 请教开发过socket客户端的大佬,我弄了个socket客户端,和三菱的PLC做MC通信,实时性非常差,由于三菱的MC协议的报文结构没有报文的ID号,没法做异步通信,我用的是同步通信,很多时候要好几秒钟才能得到PLC的回复。写数据还好,读数据尤其慢,是不是操作系统哪里的设置问题?多线程的时候问题更严
: ..................
发自「今日水木 on M2007J17C」
--
FROM 222.129.49.*
显然不是电脑OS的问题,真有这么大bug,早就fix了
--
修改:z16166 FROM 123.115.128.*
FROM 123.115.128.*
哈哈,几秒钟的话和操作系统没关系了,你说几十ms还能理解。
【 在 hengcuiyuan 的大作中提到: 】
: 请教开发过socket客户端的大佬,我弄了个socket客户端,和三菱的PLC做MC通信,实时性非常差,由于三菱的MC协议的报文结构没有报文的ID号,没法做异步通信,我用的是同步通信,很多时候要好几秒钟才能得到PLC的回复。写数据还好,读数据尤其慢,是不是操作系统哪里的设置问题?多线程的时候问题更严重。
--
FROM 114.84.242.*
MC通讯和Socket本来就是矛盾的,你如果要用socket,应该在三菱里也写通讯程序,收发报文。
如果你用MC,多半是你MC协议实现的不对,还是找个现成的库吧。
【 在 hengcuiyuan 的大作中提到: 】
: 请教开发过socket客户端的大佬,我弄了个socket客户端,和三菱的PLC做MC通信,实时性非常差,由于三菱的MC协议的报文结构没有报文的ID号,没法做异步通信,我用的是同步通信,很多时候要好几秒钟才能得到PLC的回复。写数据还好,读数据尤其慢,是不是操作系统哪里的设置问题?多线程的时候问题更严重。
--
FROM 114.242.17.*
MC通信和socket矛盾?这是何解?MC协议就是规定了报文结构,我得调用操作系统的通信接口才能把报文发出去,不用socket,那用什么发呢?
【 在 simonvic 的大作中提到: 】
: MC通讯和Socket本来就是矛盾的,你如果要用socket,应该在三菱里也写通讯程序,收发报文。
: 如果你用MC,多半是你MC协议实现的不对,还是找个现成的库吧。
--
FROM 113.69.195.*
你用socket,PLC最好那边也用socket。你要是用MC,你要是有能力实现一个好的协议,当然也是可以的,但是现在看起来不行,所以最好找个现成的库。
【 在 hengcuiyuan 的大作中提到: 】
: MC通信和socket矛盾?这是何解?MC协议就是规定了报文结构,我得调用操作系统的通信接口才能把报文发出去,不用socket,那用什么发呢?
:
--
FROM 114.242.17.*
socket并不是一个协议呀,只是操作系统的一个接口呀,我理解是这样的。无论是什么协议的报文,比如三菱的MC协议,欧姆龙的Fins都可以借助socket把数据通过以太网发出去呀,不同的协议只是规定了报文格式而已
【 在 simonvic 的大作中提到: 】
: 你用socket,PLC最好那边也用socket。你要是用MC,你要是有能力实现一个好的协议,当然也是可以的,但是现在看起来不行,所以最好找个现成的库。
:
: :
--
FROM 113.69.192.*
先在链路上抓包,确定是哪端的问题。
A端业务提交消息,链路传送消息,B端业务接收消息,B端提交回应消息,链路传送消息,A端业务收到回应。
把每个时间点记录下来,以便确定问题出现在哪里。
【 在 hengcuiyuan 的大作中提到: 】
: 请教开发过socket客户端的大佬,我弄了个socket客户端,和三菱的PLC做MC通信,实时性非常差,由于三菱的MC协议的报文结构没有报文的ID号,没法做异步通信,我用的是同步通信,很多时候要好几秒钟才能得到PLC的回复。写数据还好,读数据尤其慢,是不是操作系统哪里的设置问题?多线程的时候问题更严重。
: --
: 修改:hengcuiyuan FROM 113.70.65.*
: ...................
--来自微水木3.5.11
--
FROM 223.104.5.*
【 在 hengcuiyuan 的大作中提到: 】
: 请教开发过socket客户端的大佬,我弄了个socket客户端,和三菱的PLC做MC通信,实时性非常差,由于三菱的MC协议的报文结构没有报文的ID号,没法做异步通信,我用的是同步通信,很多时候要好几秒钟才能得到PLC的回复。写数据还好,读数据尤其慢,是不是操作系统哪里的设置问题?多线程的时候问题更严重。
是你的问题不要怪socket协议,qq都是用的socket协议
--
FROM 59.40.10.*