移动无线上网的微机(A)向宽带上网的微机(B)发送数据,B可以接收,B回发时A无法接收到。不知为何?
而B与其他宽带及拔号连接时,可以互通信息。我在程序中采用固定端口。
是否A发给B信息时B接收的端口发生了变化?

解决方案 »

  1.   

    你B给A法信息时又没有指定A的当前端口?
      

  2.   

    还有移动上网的是通过联通或是移动的服务器接入Internet的,移动上网的A就相当与联通或是移动的“内部网”的一部分,因此B是无法访问到A的,因为联通或是移动的服务器不允许B访问A。
      

  3.   

    A(宽带)机IP不固定。B宽带IP固定
      

  4.   

    写错
    A(无线)机IP不固定。B宽带IP固定
      

  5.   

    如果是A(无线)机IP不固定,B宽带IP固定,我想知道你是如何使B机找到A机,并发数据给它的,就我所知,好像做不到,而且即使A机地址固定了,也可能因为我上面说的无线上网的问题造成B机无法访问A;
      

  6.   

    就是啊,现在A发送登录信息至服务端B,B可以收到,B按A传来的IP将在线列表发给A时,A无法接收到!痛苦!
      

  7.   

    那肯定是我刚刚说的无线接入的问题造成的。
    如果方便的话,B到A建议用TCP方式试试吧,不过我也不能保证肯定能行,
    还有,如果B也是无线上网的话,则B可以访问A;
      

  8.   

    你用的是CDMA还是GPRS?要不你可以和联通或是移动商量开通B到A的服务,那就要签协议了。
      

  9.   

    是不是联通的服务器将A的端口进行了映射
    如果我用我的服务端接收A发来的端口与A通讯,而不用程序中固定的端口,是否就应该可以了。
      

  10.   

    这位大哥有uc号吗,我们在uc上讨论如何,解决一定加分。
    我的UC号80505315
      

  11.   

    你试试吧!
    不过我觉得可能不是,而是因为联通的服务器拒绝外部的机器采用UDP方式访问内部机器
      

  12.   

    UC?我只有QQ号,而且上班时间我可不敢开QQ,呵呵!
      

  13.   

    我觉得你还是用TCP试试吧,如果还不行,我也不知道如何解决了。
      

  14.   

    程序进行调整并测试:服务端测试:收到A PeerIP为221.X.X.X  True IP为10.X.X.X  PeerPort为25321,
    按221.X.X.X Port:25321 发送信息,为何A不能收到呢?
    移动公司服务器难道不将信息自动转发至A吗?
      

  15.   

    如果你用的是UDP,我觉得你的服务设置有问题。
    你取PeerPort是收不到的,我觉得你取这个端口不对,这个问题与移动公司没关系。你可以研究一下QQ的原理。
      

  16.   

    几位老兄,能上uc吗,我的uc号80505315,还望多指教。我总感觉到移动服务器与无线上网笔记本间应有对应关系啊。
    否则我程序企不无法使用了吗。
    迷茫+悲伤
      

  17.   

    我也觉得和移动公司没有关系,你可以在你的移动无线上网的机子上玩QQ或者MSN试试,
    这两个是最说明问题的了,如果可以发送接受消息的话(我想一定可以),那就和移动一点
    关系都没有了。我赞同huojiehai(海天子) 观点,可能你取得端口有问题。
      

  18.   

    那就怪了,我在客户端程序中固定监听端口,发送至服务端时就发生了变化,接收的IP移动固定IP,端口与程序中固定的端口不同,而且客户端每次登录时均不同。
      

  19.   

    to huojiehai(海天子),我的服务器设置会有问题吗,难道接收到的端口还需要我的服务端程序进一步转化才可以到发给移动吗
      

  20.   

    自行分配端口原理还不太懂,请 flyforlove(为情飞)老兄指点。
      

  21.   

    flyforlove(为情飞)兄说得很对,你能上QQ或MSDN就说明与移动没关系,是你的整个架构有问题,研究一下QQ的原理(或UDP的整个通信息原理)你就明白了,我的QQ是28588343
    你说的UC是什么东西,我没有用
      

  22.   

    我知道是由服务器或代理服务器完成的,难道我要到移动服务器上去取吗。------------------------------------
    大富翁上的回答:
    我们的做法是:对于传输大数据量的数据,采用UDP方式。B先用TCP发小数据量给A,A再用UDP回复B,这样B可以获得一个A的UDP的IP地址和端口端口号。然后B和A就采用一问一答的方式进行UDP通讯。注意:A的UDP IP地址和端口都是临时的,不断变化的,生存期好像最大是7秒,B在7秒内B可以使用A的这个临时IP地址和端口号。
      

  23.   

    我觉上大富翁的回答中,如果是在局域网中通信是没问题,但如果在公用网上时,两端都是通过代理上网可能就会有问题了,TCP要通过代理很困难(甚至几乎不可难)。>>我知道是由服务器或代理服务器完成的,难道我要到移动服务器上去取吗。取IP要自己建服务器的,就像腾讯的服务器一样。
      

  24.   

    现在的情况是:
    A(无线客户端)B(宽带服务器,IP固定)c(局域网客户端)程序目前流程:
    A上线通知B,B记录A信息:A peerip,A peerport,A trueIP,A Trueport,B同时将A发送信息至C,C获得A在线的列表。发送信息时,C先发至B,由B根据记录的A信息进行转发,目前情况是C保存有A的两条信息,一条是A上网时真正的IP,在程序中固定的端口,一条A上线时,转发A上线信息的移动服务器对应的IP,Port.我的测试:B---将C信息按A TrueIP,TruePort 发送,A接收不到。B---将C信息按A 转发时的移动服务IP,Port发送,A无法接收。不知该怎样取端口:
      

  25.   

    你一直没提到Peer Port呵,25321这个端口难道是你自己定义的?
      

  26.   

    那没问题的,我在GPRS就是这么做的,除非
    1)中间有防火墙;
    2)时间间隔过长,NAT淘汰了起始端口;
      

  27.   

    To iie(易野) ( ) 
    那没问题的,我在GPRS就是这么做的,除非
    1)中间有防火墙;
    2)时间间隔过长,NAT淘汰了起始端口;能否详细说你一下你程序中的处理方法: