首页新闻找找看学习计划

socket 数据传输问题

0
悬赏园豆:20 [已解决问题] 解决于 2015-08-26 13:27

场景是app调用web api ,api在使用socket连接到一个c++客户端程序获取数据。

这中间怎么保证app请求webapi做到一个请求一个响应。

一般跟c++客户端通信的最好方式是什么,系统的业务需求是c++会主动调用webapi,然后webapi也需要主动调用c++

.Valen的主页 .Valen | 初学一级 | 园豆:171
提问于:2015-08-24 11:02
< >
分享
最佳答案
0

这中间怎么保证app请求webapi做到一个请求一个响应。——〉使用协议保证.

一般跟c++客户端通信的最好方式是什么,系统的业务需求是c++会主动调用webapi,然后webapi也需要主动调用c++ -〉没有什么最好的方式,涉及到跨机器通信,只有 SOCKET。

收获园豆:15
Launcher | 高人七级 |园豆:45030 | 2015-08-24 11:24

协议保证,怎么个保证。因为这个webapi还需要用socket连接c++获取数据,这中间不是马上响应的。

.Valen | 园豆:171 (初学一级) | 2015-08-24 11:28

@.Valen: 你能回答我 TCP 协议是如何保证传输的可靠性的吗?

Launcher | 园豆:45030 (高人七级) | 2015-08-24 11:56

@Launcher: 就是一个请求对应一个最终响应,没有响应说明是失败的吧?
你说的协议保证是不是socket发送一个消息以后通过轮询的方式等待服务端返回数据。

.Valen | 园豆:171 (初学一级) | 2015-08-24 13:02

@.Valen: 就是一个请求对应一个最终响应,没有响应说明是失败的吧? -> 响应在 1 分钟、1 小时、1天后才收到,这叫有响应,还是没响应?

Launcher | 园豆:45030 (高人七级) | 2015-08-24 13:42

@Launcher: 解决了,解决办法是。webapi调用socket,这时候webapi线程阻塞等待socket收到服务端数据,收到数据后存入集合、线程继续,这样webapi就可以用socket收到的数据进行下一步处理

.Valen | 园豆:171 (初学一级) | 2015-08-26 12:11
其他回答(1)
0

webapi是http请求,你可以百度下http推送,会有很多解决方案

没有什么最好的通讯方法,找个可以用的合适的就好了

收获园豆:5
吴瑞祥 | 园豆:28731 (高人七级) | 2015-08-24 11:05

http推送也就是要保持着长连接吧?

支持(0) 反对(0) .Valen | 园豆:171 (初学一级) | 2015-08-24 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册