【发布时间】:2017-01-29 05:37:58
【问题描述】:
我正在开发像客户端/驱动程序这样的应用程序。
在我的应用程序中,我们使用socket programming 来跟踪驱动程序。
为了进行跟踪,Driver 应用会在每 5 秒后使用 socket 发送 location(lat,lng),Client 应用会监听 socket 响应并更新 driver 位置。
这很好用,但我的问题是:-
有时客户端应用程序会得到如下错误响应:-
意味着,单个套接字响应中的一堆响应,我无法处理这个响应。
任何人都可以帮助我为什么会收到这种类型的响应,即使我每次都从驱动程序应用程序发送单个套接字请求?
希望最好。
谢谢。
【问题讨论】:
-
理想情况下,套接字编程用于广播目的。例如,1 个驱动程序连接到套接字并在其上提供它们的存在,现在您再次在套接字上提供存在而不再次连接。因此,当您获得当前驱动程序列表相同的驱动程序存在 id 时会发生什么,您将获得两次时间。现在我希望你明白什么是问题。
-
@Hasya :- 感谢您的支持。你能告诉我你的存在是什么意思吗?
-
您的问题是驱动程序 ID“109”在套接字上有多个位置,对吗?
-
@Hasya :- 不,亲爱的.. 用户 ID - 109 每 5 秒发送一个请求。现在客户端在不同的位置多次获得该响应。
-
是的,因为您的旧请求在套接字广播上可用,因此客户端正在获取多个位置。您必须询问维护套接字的后端开发人员,要求他们检查 109 id 位置是否可用,然后更新该位置并在套接字上发送 1 个单曲或删除以前的一个并发送新的。所以客户只会得到 1 个位置。
标签: ios swift sockets serversocket asyncsocket