C# 开发的PC端应用程序、另一端是一个单片机,什么型号不太清楚,使用UDP进行通信,单片机周期性上送数据
奇怪的现象是,一般情况下,PC机A和单片机通信正常。但是如果换成PC机B,同样的程序,PC机就收不到数据了;但是如果把单片机重启,PC机B与单片机通信正常,但换回到PC机A,就又收不到数据了,同样需要重启单片机才能正常通信。
PC机是 服务端
PC机和单片机通信,潜藏一个 单片机登录或获取session的过程
更换 PC机,新PC机 没有存 前一个的会话session
UDP不是面向非连接的吗,怎么还有个 session ?
最重要的是,要怎么破
会不会是单片机上配置的服务端ip和端口,必须重启才能生效?
PC上的IP地址和端口都是同一个,程序也是同一个,只是换了台电脑而已
@血狼一族: 用 wireshark 进行抓包,看一下
@血狼一族: 另一个就是,这个udp通讯,传输的内容,是不是有自定义的协议在里面
@百鸟朝凤: 协议就是DBC,封装CAN通信的一种UDP协议
@血狼一族: DBC我没接触过,一般带自定义数据协议的这种,初次连接上的时候,都会有个设备认证. 中间如果断了服务器, 如果服务器上有设备的缓存啥的,不就全都没了. 设备连接不上,几次没有给返回信息,应该会自动重连的,这个重连时间,就要看单片机上程序是怎么写的了,....都是猜测啊,毕竟不了解业务和流程
@百鸟朝凤: 应该不是的
因为只要不更换PC机,无论怎么折腾,PC机重启、PC机上的进程重启,都不需要重启终端。我看过PC机上的程序,它并没有把任何信息写到本地永久存储介质。