/* P2P 程序客户端
 * 
 * 文件名:P2PClient.c
 *
 * 日期:2004-5-21
 *
 * 作者:shootingstars([email protected])
 *
 */
我是用上面的那个例子的,用它可以 进行消息 命令的穿透(UDP)(试过,成功),但我它的发送函数 改成 JRTPLIB库的函数时, (即把UDP的端口和IP地址 送到 JRTPLIB库 中的函数)
 RTPIPv4Address dest(m_MediaServerConfig.Serverip, m_MediaServerConfig.Serverport);好像发不到另一个局域网的电脑上啊,我只用了JRTPLIB库的一个端口,没用RTCP , 照理 JRTPLIB库 跟UDP 原理一样的啊, 

解决方案 »

  1.   

    应该是可以的,我刚刚也用jrtplib做了穿透非对称型NAT
      

  2.   

    最近我也在研究jrtplib,应该可以实现p2p streaming 看到有很多这方面的开源项目,java 实现的比较多
      

  3.   

    我也这样做的, 再想是不是 RTP库的IP,端口设置问题 ,我用UDP的send() 能发通的, 但 给到 RTP就不行了,设置如下:
          portbase = 5000;(这个我自己设的)
          RTPIPv4Address dest(global_receive_ip,g_global_receive_port);
          RTPSession::AddDestination(dest);      刚开始以为 IP和端口 有问题,但是UDP也是同样用法啊,设置如下
            
             sockaddr_in remote;
       remote.sin_addr.s_addr = global_receive_ip;
       remote.sin_family = AF_INET;
       remote.sin_port = g_global_receive_port;       sendto(PrimaryUDP, (const char *)&MessageHead, sizeof(MessageHead), 0, (const sockaddr*)&remote, sizeof(remote));
      

  4.   

    恩,很可能是IP跟端口设置问题。你读下他提供的例子设置端口IP的地方
      

  5.   

    原来是 大小端字节序问题 , RTP 需要的是本机 字节序 ,而 我这里 UDP是 网络字节序,艾,