如题,欲在工业场合实现两台电脑间高速通讯,延迟最好控制在毫秒级。TCP/IP,UDP,RS232?同步,异步?对这些一直搞不明白,还请高人指点。 
PS:最终实现的效果,好比同一个电脑中的两个进程A、B,他们共享一个变量V,A直管修改V,而B只管读取V。 请多多指教 

解决方案 »

  1.   

    延迟最好控制在毫秒级
    Windows 不是实时操作系统,最高精度一般只有10-15ms
    请问你得程序如何实现工业场合实现两台电脑间高速通讯?1 改造WINDOWS为实时
    2 不用WINDOWS,用实时LINUX
    3 改造普通LINUX为实时
    4 自己写OS
      

  2.   

    延迟最好控制在毫秒级
    Windows 不是实时操作系统,最高精度一般只有10-15ms
    请问你得程序如何实现工业场合实现两台电脑间高速通讯?1 改造WINDOWS为实时
    2 不用WINDOWS,用实时LINUX
    3 改造普通LINUX为实时
    4 自己写OS
    他说的有问题 用多媒体定时器就可以实现1毫秒定时
      

  3.   

    谢谢各位回复,不用window是不行的,现在的系统有许多扩展卡,那些驱动都是windows下面的。我为什么提出udp来,是因为看到说udp不需要校验,每秒可以发送几十兆数据,如果真能做到这一点,亦可以认为是准实时了呀
      

  4.   

    丢包的问题,我没有考虑。
    如果A是发送端,从0-10秒平均发送了1000个数据包,而B从第5秒开始接受,我这边的需求是:希望B接受的是从第500个包开始,而不是从缓存中第1个包开始。也就说没有记忆效应。表述不太准确,希望哪位指点指点
      

  5.   

    10-15ms那是8253芯片做定时,1ms是使用cpu时间戳指令,但是通信时要求几ms级别是无法保证的。
      

  6.   

    任何操作系统都做不到
    想一下,你的平均网速是200kbps
    那一秒钟就是没有附加位的情况下最多只能发25600个字节,1个毫秒是1/1000秒,只能发25.6个字节,就算30个字节,一个udp包头都未必够,ip的包头好象就20字节了........
    你用高速串口试试吧
      

  7.   

    rs232,485
    延迟的话,如果A、B交流不多的话,能不能用个数组存储一下,
    然后B先读数据,发现A修改后B再把多读的数据删除掉