我用的不是 spring boot,是自己搭建的 ssm 架构,我记得 spring mvc 有一个 WebSocket 的 jar 包,我百度了一下,那个 jar 包好像是专门用于浏览器与服务器之间的。
我要用一个 4g 模块的单片机向服务器发起 tcp 通信或者 udp 通信,将位置数据发送给服务器,那个 WebSokcet.jar 包能做这些.或者有现成样例代码可以参考吗
首先这个单片机,根据测试软件的测试结果,该单片机好像是支持 socket 服务的。
我用的不是 spring boot,是自己搭建的 ssm 架构,我记得 spring mvc 有一个 WebSocket 的 jar 包,我百度了一下,那个 jar 包好像是专门用于浏览器与服务器之间的。
我要用一个 4g 模块的单片机向服务器发起 tcp 通信或者 udp 通信,将位置数据发送给服务器,那个 WebSokcet.jar 包能做这些.或者有现成样例代码可以参考吗
首先这个单片机,根据测试软件的测试结果,该单片机好像是支持 socket 服务的。
|
momocraftOct 17, 2019
1
websocket 不是浏览器专用的
但是 socket 不是 websocket |
|
qpingOct 17, 2019
2
websocket 是应用层协议,在 tcp/ip 之上,你需要的是 java socket
|
|
7
@tanranran 我目前的思路就是在 web 程序加载的时候所运行的方法里,加载一个服务端的 socket 的一段代码,并用死循环套住。这样的话,会有什么问题吗
|
|
misaka19000Oct 17, 2019
9
netty
|
|
fkmcOct 17, 2019
11
netty mina
|
|
alienx717Oct 17, 2019
12
利用这些 netty mina tio smart-socket 框架收发消息、暴露 tcp 端口。
终端连接到服务端的这个端口发送报文。 根据协议在收到消息的那个 handler 中解析。 也可以先在 decoder 那层解析后封装到自定义的对象里面。 |
|
xyooyxOct 17, 2019
13
你说的 tcp 和 udp 归属传输层协议,我们 spring mvc 处理的都是应用层协议,所以你需要的应该是 netty
|
|
knvaOct 17, 2019
14
再起一个服务,专门用于通信, 用数据库跟 web 层交互
|
|
yplamOct 17, 2019
15
如果要自己造轮子的话就 netty
简单的话就 mqtt |
|
leafreOct 17, 2019
16
netty
|
|
gz911122Oct 17, 2019
17
netty 简单一些
vertx 基于 netty 封装了一层,用起来更简单一些 |
|
andychen20121130Oct 17, 2019
18
websocket 协议不一样。
netty 吧。 我有一套代码。 |
|
opengpsOct 17, 2019
19
socket 服务端可以认为是独立的,不管你借助什么形式运行都可以,只是需要额外注意对外公开端口
|
|
ESeanZOct 17, 2019
20
单片机、物联网应该用 MQTT 吧。
|
|
hugedataOct 17, 2019
21
你的 spring MVC 写一个接收 post 消息的 action,根据结果,返回 json,单片机中看你用的具体哪个系统,有没有移植好的 curl,有的话,c\C++\shell 等任意语言调用 curl 命令,没有的话,自己找该系统提供的 http 请求组件,然后用它访问你的 springMVC 的这个 action,带上 post 数据,以 post 方式提交。然后根据结果判断提交是否成功。这么简单的事情。。。。贵司就没有人能想明白吗?
|
|
mango88Oct 17, 2019
22
仅仅用来上传 gps 等位置数据,服务器不需要与设备交互等需求
不需要用到长连接通讯吧 发起一个 http request 有啥不能解决的 |
|
zhenjiachenOct 17, 2019
23
Spring 不是有个 RSocket 吗,好像可以和 Spring MVC 一起用?
|
|
24
@hugedata 这个单片机可以发 http 请求,我一开始想用 http 的,用 at 命令可以得到 gps 数据,不过目前,只能发手动填写的数据,发不了 gps 上去。用 tcp 好像可以。
用 http 发 gps 数据有一个问题。做不到用 at 命令进行中转,我向同事咨询过,能不能通过 c 语言中转,先发获得 gps 的 at 命令,然后通过 c 语言字符数组做到拼接得到的 gps 数据作为 http 通信请求路径的数据位,再通过 at 命令发一个 post 请求。他回答这个单片机不行。我很久没接触 c 语言了。 这边有用单片机向 tcp 发送到其他网站测试的例子 |
|
hugedataOct 17, 2019
26
你的 spring MVC 写一个接收 post 消息的 action,根据结果,返回 json,单片机中看你用的具体哪个系统,有没有移植好的 curl,有的话,c\C++\shell 等任意语言调用 curl 命令,没有的话,自己找该系统提供的 http 请求组件,然后用它访问你的 springMVC 的这个 action,带上 post 数据,以 post 方式提交。然后根据结果判断提交是否成功。这么简单的事情。。。。贵司就没有人能想明白吗?
|