不知道是否有大侠接触过卫星系统。有些老的卫星信息传递是单向的,接受方只管接受数据,不发送任何信息,也就是说,发送方没有办法接受ACK,自然也就没有办法使用TCP/IP协议,建立连接。现在要做一个系统,通过卫星进行通信,考虑到单向发送,数据的发送和接受出现了问题。1,用C#如何编写类似程序?大侠们给个思路,给个方向。
2,如何构筑类似的测试环境?我们不可能长时间利用卫星进行传输测试。
2,如何构筑类似的测试环境?我们不可能长时间利用卫星进行传输测试。
微软有一个专门操作gps的类库,里边可能有有关通信的方法
而且你说的这个肯定不能通过建立连接的,一定是面向无连接的,要不然 卫星就废了~
首先说你这个通信绝对不是一个真正意义的网络通信,只能是用程序操控本地的发射机。至于发射机发射出去的信息已经和你无关了。
那说白了是你操作一个复杂的硬件。
发射机与电脑是如何连接的?
USB? COM? 还是其他什么 但是无论是什么,都是你用程序读写硬件端口的问题。是你的程序与硬件通信的过程。
假设是USB,那么你就应该像操作其他USB设备一样, 发送指令,发送数据,得到发送完成的指令,发送指令,发送数据。如此往复
很有启发发射机(收信器)与电脑是通过LAN进行连接,而且电脑与发射机(收信器)之间还有加密装置
卫星接受的收信器就是一个MODEN
单向的自然不支持TCP/IP,不是协议开发,而只是数据传输.如果----如果使用UDP的话,是否能够在单向网络上发布信息?
我的意思是说,如果信道是建立在单向传输上,就不可能实现TCP协议.毕竟TCP需要处理重传,错包的问题.如何处理?就需要接受端那里发送ACK之类的确认帧,单向信道的话,接受端无法向发送端发送ACK,那么就不可能使用TCP协议.
TCP是面向连接的,单向信道的话,双方无法建立连接.层次结构:
TCP | UDP
------------
IP
UDP不是TCP/IP的一部分吧?
首先还是谢谢你对本帖的关注.或许我的概念不清楚,提法不大对.(大学毕业后基本没有碰过网络概念)但是,这个是最简单的问题,如果物理层都没有办法实现双向传输,第二层协议上如何实现支持TCP?现在并不知道现有环境是否支持TCP,或者UDP,但是单凭"单向传输"就知道肯定无法支持TCP的.不管TCP/IP包涵有多少种协议,但是TCP是需要确认帧的(从保证数据传输这一点上就可以知道),确认帧是要接受端发送的,所以TCP是无法使用的.<------到这里应该没有错吧?要使用UDP的话,并不一定需要TCP支持.这点没有问题吧?TCP既然和UDP是同一层次,自然不需要TCP支持,如果需要TCP支持的话,UDP这个面向无连接的传输协议也就没有意义了不是?我只要能够找到协议来传输数据.我现在想知道的是,在单向物理信道上,是否能够实现UDP传输,并且如何才能够构筑这样的单向信道.我写程序的时候,实际上的确是可以完全抽象传输构成,但是,由于现在环境并不清楚支持什么协议,所以需要分析.还有啊,朋友,不要说"凭你是无法完成这个任务的"这种话,我有这个自信,什么技术不是啃下来的?况且,就是因为知道自己不足,所以在这里请教各位的嘛~~~朋友,我觉得你对网络技术比较懂,这里有错,请明确指出,200分,只要是有帮助的,自然多给.
--------------
建议你好好看看OSI模型和TCP/IP模型的原理...上层是不用管下层如何实现的...要使用UDP的话,并不一定需要TCP支持
--------------
没有人说过UPD需要TCP支持...UDP和TCP是不可分的,TCP/IP协议族是一个整体...我只要能够找到协议来传输数据.
--------------
这就是你唯一的解决方法,但这是一层二层的协议,和TCP/IP无关...所以你需要去问通信专业人士...我写程序的时候,实际上的确是可以完全抽象传输构成,但是,由于现在环境并不清楚支持什么协议,所以需要分析.
--------------
你写的程序几乎可以肯定是在四层以上跑的,所以你不需要分析只需要去找可以支持TCP/IP的设备或底层协议,如果没有就要看可以用什么协议来支持...但是我想卫星通信不可能找不到支持TCP/IP的设备或协议,否则要那么多卫星干什么...ps:我不是说你没有自信...但光有自信是没用的,你得知道自己要干什么...现在明显这个问题不是软件的问题,不是你的专业能解决的问题...隔行如隔山,你没有深厚的通信专业知识再自信也是无法解决的,当然你现在开始学的话也许来得及...
建议你好好看看OSI模型和TCP/IP模型的原理...上层是不用管下层如何实现的...
->朋友,我完全知道上层不需要管下层实现,不然就没有层的意义了.当初在大学中也背过OSI的层次结构.但是我现在只知道物理层是单向的,我要分析这个物理传输层能够支持哪些协议.而不是已经知道它支持某些协议.没有人说过UPD需要TCP支持...UDP和TCP是不可分的,TCP/IP协议族是一个整体
->也就是说,如果一网络不支持TCP的话,就无法支持UDP?这就是你唯一的解决方法,但这是一层二层的协议,和TCP/IP无关...所以你需要去问通信专业人士...
->你没有理解我的意思,我现在要分析样的单向传输网络有那些协议支持.你写的程序几乎可以肯定是在四层以上跑的,所以你不需要分析只需要去找可以支持TCP/IP的设备或底层协议,如果没有就要看可以用什么协议来支持...但是我想卫星通信不可能找不到支持TCP/IP的设备或协议,否则要那么多卫星干什么...
->朋友,你的想法过于想当然了,可能是因为你是个比较出色的程序员.今天早上我就拿到一份资料,单向卫星通信支持建立于IP的UDL协议,支持UDLR协议,但是却没有提到任何支持TCP/IP协议的相关语句.
你的想法过于局限了,只考虑到:"给我什么,我就能够做什么"而不是整体系统性地考虑:"要完成这个,我需要什么,现在的环境能够给我提供什么,我的功能是否能够在这个环境上得到支持,得以实现".我不是说你没有自信...但光有自信是没用的,你得知道自己要干什么...现在明显这个问题不是软件的问题,不是你的专业能解决的问题...隔行如隔山,你没有深厚的通信专业知识再自信也是无法解决的,当然你现在开始学的话也许来得及...->朋友,感觉你是我爸爸...这个问题的确不是软件的问题,而是系统分析的问题.的确不是我专业的问题,但是我去分析系统,可能把计算机所有专业都读过来么?要做个系统,就我一个人独挡天下?