GPS数据接收(多GPS)

biny101 2009-11-30 11:39:56
各位朋友好
需要做个服务器,用于接收各个GPS发送过来的数据,GPS数量很多,GPS发送的数据格式比如hx11abcdefgen,会不会出现接收到的数据时多个GPS发送过来的交叉数据,例如得到的数据是hx11abhx11abcdhx11abcdefgen,这样其实得到数据就是不完整的,而且是各个GPS数据交叉到一起,我想知道这种情况如何处理呢

谢谢各位朋友帮忙!!
...全文
177 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
biny101 2009-12-02
  • 打赏
  • 举报
回复
OK 谢谢各位
baishengjie 2009-12-02
  • 打赏
  • 举报
回复
按9楼说的,开多线程,每个线程可以处理一个客户端口,这是并行的,每个线程做自己的事情,这样不会发生数据交叉问题的!
biny101 2009-12-02
  • 打赏
  • 举报
回复
day day up
biny101 2009-12-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 goto_code 的回复:]
你不是说你用多线程了吗?
那么交给一个线程去处理啊。A的数据给线程A,B的数据给线程B处理。
即使不用线程,你有比较好的超时算法也可以勉强凑合凑合的啊
一包处理完再处理第二包,否则超时,不过最好还是在线程处理。
[/Quote]


当数据量非常大的时候会不会出现ABCDEF给服务器发送的数据交叉的,也就是说A的数据还没有接收完,和这个时候就开始接收的B的数据了,最后得到的数据时隔终端数据的集合,这种情况下就需要将各个数据按照协议进行重新组合,不知道这个地方怎么办,望各位朋友给提示一下~~
hahayanjing 2009-11-30
  • 打赏
  • 举报
回复
纯学习
网络上的 早忘光了
goto_code 2009-11-30
  • 打赏
  • 举报
回复
你不是说你用多线程了吗?
那么交给一个线程去处理啊。A的数据给线程A,B的数据给线程B处理。
即使不用线程,你有比较好的超时算法也可以勉强凑合凑合的啊
一包处理完再处理第二包,否则超时,不过最好还是在线程处理。
biny101 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 goto_code 的回复:]
通讯中光靠长度肯定是不够的。还需要具备至少以下几点
1,服务程序的侦听是多线程的,也就是可以接受多个端口发来的数据
2,侦听和发送都应严格按照通讯协议来,协议里一个包至少包括,客户端地址,请求类型,长度,数据,校验
3,该有合理科学的超时机制。

我现在的服务器有上万个客户端在同时调用我的一个库,所有事务处理都在这个库里,如果管理得当,是不会有什么问题的。
[/Quote]


现在是多线程同一个端口接收数据,协议肯定是有了,但是在接收的时候会不会出现A的数据还没有接收完,这个时候就已经开始接收B的数据了,致使两条数据交叉得到,最后还需要将每条数据解析出来,这个就不知道怎么办了~~
goto_code 2009-11-30
  • 打赏
  • 举报
回复
通讯中光靠长度肯定是不够的。还需要具备至少以下几点
1,服务程序的侦听是多线程的,也就是可以接受多个端口发来的数据
2,侦听和发送都应严格按照通讯协议来,协议里一个包至少包括,客户端地址,请求类型,长度,数据,校验
3,该有合理科学的超时机制。

我现在的服务器有上万个客户端在同时调用我的一个库,所有事务处理都在这个库里,如果管理得当,是不会有什么问题的。
xpolice_wj 2009-11-30
  • 打赏
  • 举报
回复
ding
Messi_Messi 2009-11-30
  • 打赏
  • 举报
回复
期待高手
biny101 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 okokwukai 的回复:]
一般情况下,这类报文的头应是代表特定含义的,如报文长度,有了长度你就可以处理后面的数据了。
[/Quote]


长度有了 但是后面接收的数据还是错乱的,那怎么弄呢,如何进行处理,然后将得到的数据还原呢
  • 打赏
  • 举报
回复
一般情况下,这类报文的头应是代表特定含义的,如报文长度,有了长度你就可以处理后面的数据了。
biny101 2009-11-30
  • 打赏
  • 举报
回复
等待高手~~
呦呦 2009-11-30
  • 打赏
  • 举报
回复
学习帮顶!

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧