不知道是否有大侠接触过卫星系统。有些老的卫星信息传递是单向的,接受方只管接受数据,不发送任何信息,也就是说,发送方没有办法接受ACK,自然也就没有办法使用TCP/IP协议,建立连接。现在要做一个系统,通过卫星进行通信,考虑到单向发送,数据的发送和接受出现了问题。1,用C#如何编写类似程序?大侠们给个思路,给个方向。
2,如何构筑类似的测试环境?我们不可能长时间利用卫星进行传输测试。

解决方案 »

  1.   

    应该和gps类似,gps的原理就是卫星只负责发信号,而手机接收信号,通过接受的信号,利用自身的gps模块进行计算,判断出经度、纬度等
    微软有一个专门操作gps的类库,里边可能有有关通信的方法
    而且你说的这个肯定不能通过建立连接的,一定是面向无连接的,要不然 卫星就废了~
      

  2.   

    的确是这样,我过去用。NET只做过TCP,UDP的通信,UDP也是无连接的,用UDP就可以实现?关键是类似的环境如何构筑?VM可以实现会丢包的网络,但是单向网络没有看到有设置。现在是在提案阶段,还拿不到相关的支持文档。
      

  3.   

    楼主这个不是C#不C#的问题。。
    首先说你这个通信绝对不是一个真正意义的网络通信,只能是用程序操控本地的发射机。至于发射机发射出去的信息已经和你无关了。
    那说白了是你操作一个复杂的硬件。
    发射机与电脑是如何连接的?
    USB?  COM? 还是其他什么 但是无论是什么,都是你用程序读写硬件端口的问题。是你的程序与硬件通信的过程。
    假设是USB,那么你就应该像操作其他USB设备一样, 发送指令,发送数据,得到发送完成的指令,发送指令,发送数据。如此往复
      

  4.   

    装个GPS软件在手机上都晕的不行
      

  5.   


    很有启发发射机(收信器)与电脑是通过LAN进行连接,而且电脑与发射机(收信器)之间还有加密装置
    卫星接受的收信器就是一个MODEN
      

  6.   

    这种通信是两层以下的,不是C#的领域...首先要确认应用层采用什么通信协议...如果支持TCP/IP你就不用管它单向双向,如果不支持那就要看它是什么协议,这种协议的开发.NET应该是不适合的...
      

  7.   

    找了不少相关技术文档,似乎是用什么UDL协议,不是很懂的确是网络,而非所说的发信机收信器
      

  8.   


    单向的自然不支持TCP/IP,不是协议开发,而只是数据传输.如果----如果使用UDP的话,是否能够在单向网络上发布信息?
      

  9.   

    你要明白两件事...1.TCP/IP协议是建立在更底层的通信协议之上的...所以支持不支持TCP/IP与单向双向无关,取决于网络二层协议...2.UDP是TCP/IP的一部分...如果你要使用UDP,你这个网络的二层协议必须支持TCP/IP...所以你的问题要在二层以下解决,这是网络设备的问题..这种问题你要去专业的通信论坛问...
      

  10.   


    我的意思是说,如果信道是建立在单向传输上,就不可能实现TCP协议.毕竟TCP需要处理重传,错包的问题.如何处理?就需要接受端那里发送ACK之类的确认帧,单向信道的话,接受端无法向发送端发送ACK,那么就不可能使用TCP协议.
    TCP是面向连接的,单向信道的话,双方无法建立连接.层次结构:
    TCP  |   UDP
    ------------
        IP
    UDP不是TCP/IP的一部分吧?
      

  11.   

    1.你这里的单向传输是在一层的传输,和你二层以上通信没有直接关系...只要二层协议可以实现在单向网络上支持TCP/IP,不需要你上层通信来处理...2.TCP/IP是个协议族,包括十几种协议,TCP和UDP是传输层的两个协议...你都知道这个层次结构竟然说“UDP不是TCP/IP的一部分”?恕我直言,你的网络基础知识太差了...凭你是无法完成这个任务的,这种问题也不是这个论坛里混的人的专业...你还是去请教专业人士吧...
      

  12.   


    首先还是谢谢你对本帖的关注.或许我的概念不清楚,提法不大对.(大学毕业后基本没有碰过网络概念)但是,这个是最简单的问题,如果物理层都没有办法实现双向传输,第二层协议上如何实现支持TCP?现在并不知道现有环境是否支持TCP,或者UDP,但是单凭"单向传输"就知道肯定无法支持TCP的.不管TCP/IP包涵有多少种协议,但是TCP是需要确认帧的(从保证数据传输这一点上就可以知道),确认帧是要接受端发送的,所以TCP是无法使用的.<------到这里应该没有错吧?要使用UDP的话,并不一定需要TCP支持.这点没有问题吧?TCP既然和UDP是同一层次,自然不需要TCP支持,如果需要TCP支持的话,UDP这个面向无连接的传输协议也就没有意义了不是?我只要能够找到协议来传输数据.我现在想知道的是,在单向物理信道上,是否能够实现UDP传输,并且如何才能够构筑这样的单向信道.我写程序的时候,实际上的确是可以完全抽象传输构成,但是,由于现在环境并不清楚支持什么协议,所以需要分析.还有啊,朋友,不要说"凭你是无法完成这个任务的"这种话,我有这个自信,什么技术不是啃下来的?况且,就是因为知道自己不足,所以在这里请教各位的嘛~~~朋友,我觉得你对网络技术比较懂,这里有错,请明确指出,200分,只要是有帮助的,自然多给.
      

  13.   

    如果物理层都没有办法实现双向传输,第二层协议上如何实现支持TCP? 
    --------------
    建议你好好看看OSI模型和TCP/IP模型的原理...上层是不用管下层如何实现的...要使用UDP的话,并不一定需要TCP支持
    --------------
    没有人说过UPD需要TCP支持...UDP和TCP是不可分的,TCP/IP协议族是一个整体...我只要能够找到协议来传输数据. 
    --------------
    这就是你唯一的解决方法,但这是一层二层的协议,和TCP/IP无关...所以你需要去问通信专业人士...我写程序的时候,实际上的确是可以完全抽象传输构成,但是,由于现在环境并不清楚支持什么协议,所以需要分析.
    --------------
    你写的程序几乎可以肯定是在四层以上跑的,所以你不需要分析只需要去找可以支持TCP/IP的设备或底层协议,如果没有就要看可以用什么协议来支持...但是我想卫星通信不可能找不到支持TCP/IP的设备或协议,否则要那么多卫星干什么...ps:我不是说你没有自信...但光有自信是没用的,你得知道自己要干什么...现在明显这个问题不是软件的问题,不是你的专业能解决的问题...隔行如隔山,你没有深厚的通信专业知识再自信也是无法解决的,当然你现在开始学的话也许来得及...
      

  14.   


    建议你好好看看OSI模型和TCP/IP模型的原理...上层是不用管下层如何实现的... 
    ->朋友,我完全知道上层不需要管下层实现,不然就没有层的意义了.当初在大学中也背过OSI的层次结构.但是我现在只知道物理层是单向的,我要分析这个物理传输层能够支持哪些协议.而不是已经知道它支持某些协议.没有人说过UPD需要TCP支持...UDP和TCP是不可分的,TCP/IP协议族是一个整体
    ->也就是说,如果一网络不支持TCP的话,就无法支持UDP?这就是你唯一的解决方法,但这是一层二层的协议,和TCP/IP无关...所以你需要去问通信专业人士... 
    ->你没有理解我的意思,我现在要分析样的单向传输网络有那些协议支持.你写的程序几乎可以肯定是在四层以上跑的,所以你不需要分析只需要去找可以支持TCP/IP的设备或底层协议,如果没有就要看可以用什么协议来支持...但是我想卫星通信不可能找不到支持TCP/IP的设备或协议,否则要那么多卫星干什么... 
    ->朋友,你的想法过于想当然了,可能是因为你是个比较出色的程序员.今天早上我就拿到一份资料,单向卫星通信支持建立于IP的UDL协议,支持UDLR协议,但是却没有提到任何支持TCP/IP协议的相关语句.
    你的想法过于局限了,只考虑到:"给我什么,我就能够做什么"而不是整体系统性地考虑:"要完成这个,我需要什么,现在的环境能够给我提供什么,我的功能是否能够在这个环境上得到支持,得以实现".我不是说你没有自信...但光有自信是没用的,你得知道自己要干什么...现在明显这个问题不是软件的问题,不是你的专业能解决的问题...隔行如隔山,你没有深厚的通信专业知识再自信也是无法解决的,当然你现在开始学的话也许来得及...->朋友,感觉你是我爸爸...这个问题的确不是软件的问题,而是系统分析的问题.的确不是我专业的问题,但是我去分析系统,可能把计算机所有专业都读过来么?要做个系统,就我一个人独挡天下?
      

  15.   

    虽然这不是我的专业...我用了不到3分钟就查到一堆资料...美国休斯网络公司(HUGHES)的DMN(DirecWay Multimedia Network)系统提供了一种高速卫星IP连接的信息通道。这种连接可提供单向或双向的通信服务。在单向服务中,该系统可以支持IP数据的多播功能,例如将MPEG视频数据发送给电视机、录像机或是电脑上。而双向IP服务则可以提供全方位的Internet功能,将远端站的局域网连接起来以提供诸如网页浏览、收发电子邮件和FTP等传统的Internet应用。国际上,单向卫星Internet接入在中小企业和家庭应用比较成功,美国的Direct PC公司、日本的Direct Internet、加拿大Telesat、澳大利亚Telstra、印度的NIC India等都在本国及周边国家采用DirecPC系统提供这种业务。德国也推出了类似的称作skyDSL的服务。还有IP over卫星、IP over 卫星ATM、VSAT...还有很多...前面说了那么多只是告诉你,你想问问题要知道该去哪儿问...分析系统不是要分析到你不需要涉及的领域...好了,就此打住吧...再也不想说什么了...