Q1、关于原始数据格式
下面是你给王赫同学的数据格式(本文简称数据格式1):
0
0 511.961 925.794 -1.30887 1.04031
1 510.652 926.834 -1.39294 1.10713
2 509.16 928.02 -0.807246 1.27814
3 508.44 929.16 -1.54364 0.229376
4 505.95 929.53 1.14677 -1.16414
5 507.097 928.366 1.34594 -1.36633
6 508.443 927 1.2408 -1.2596
7 509.91 925.51 1.38711 -0.976713
-1 0 0 0 0
1
0 538.755 178.712 1.68269 0.21065
1 539.86 178.85 1.68259 0.021085
2 541.543 178.871 1.99599 0.025012
3 543.85 178.9 1.47744 0.630616
4 545.49 179.6 1.68019 0.715819
5 547.18 180.32 1.50029 0.030618
6 548.65 180.35 1.53628 -0.54073
7 551.69 179.28 1.96796 -0.029668
8 553.68 179.25 1.80746 0.69812
而我们以前讨论时所说的数据存储格式是(本文以后简称数据格式2):
<gps ID=”string“ time=”string“>
<x> int </x>
<y> int </y>
<z> int </z>
</gps>
现在的问题是:原始数据是上述的数据格式1,然后我包装成数据格式2,从DATA端发送到MOD,然后在MOD解析成数据格式1;还是原始数据是数据格式2,发送到MOD解析成数据格式1呢?
Q2、关于XML解析
王赫可以做文件中读上述格式1的数据,然后执行插入操作,我是不是可以将xml格式的数据解析后以数据格式1写到文件里,然后将文件名作为参数调用王赫的函数?
另外,我觉得用Expat解析应该是可以的,因为毕竟是已经成熟的东西了。
Q3、关于守护进程
xinetd提供被动式的超级服务,也就是服务程序是被使用端所启动,平时则无须存在。例如,ftp, telnetd, pop3,imap, auth等等,这些服务没有人使用时,无须启动。此外,xinetd将socket转换成stdin/stdout,因而使得网路服务程式设计大大简化,可以只用printf及fgets便可完成处理很复杂的网路协定。
这个问题我没有编程测试,没时间的话不回答也行。
问题是:没找到多播的守护进程资料,是不是假如地址是D类地址,xinetd就会将其处理成多播;否则的话,还是要自己绑定?
另外,守护进程用xinetd是可以的吧,好像有点省力气了。
Q4、关于UDP
以前曾经说:当有Client端查询时,能开一个新的链接为此Client服务,从Client端读入数据(即查询要求)。但是好像UDP协议少有采用fork子进程的方法处理并发的,不知道怎么处理呢?
Q5、关于范围查询
<query type=’string’>
<xmin> int </xmin>
<vxmin> int </vxmin> //xmin方向变化的速度,查询也是可以移动的
<xmax> int </xmax>
<vxmax> int </vxmax>
<ymin> int </ymin>
<vymin> int </vymin>
<ymax> int </ymax>
<vymax> int </vymax>
</query>
中的vxmin是什么意思?王赫好像也没做范围会移动的查询处理。