我的计算机在局域网内,可以通过局域网上internet,还有一个拨号连接,可以拨号上internet。
我有一个程序,首先启动拨号连接,然后就想在该基础上进行socket编程。
当我的程序运行时,发现sendto或recvfrom函数不走拨号连接,而走本地连接。
如果先关闭本地连接,再进行上面的操作,然后重新恢复本地连接时,倒是可以从该拨号连接走了。
很不明白这是怎么回事?另外,是否有方法,可以在本地连接有效时,指定程序中的socket各函数走拨号连接。高手们请赐教!

解决方案 »

  1.   

    好像不行。我是已经将其地址绑定的了。其实,是这样的,我的程序(C)要通过拨号网络建立的UDP,和我们公司服务器(公网服务器)连接,该服务器给我的计算机进行了端口映射,这些通讯的数据将被传到我的机器上,而我的计算机上还有另外一个SOKCET程序(S),这个程序接收到数据就会有反馈。现在的问题是S程序接收到C程序的呼叫了,其UDP包的来源地址正是该拨号的动态地址,然后向该地址发送反馈包,但C程序却没有接收到。如果先启用拨号连接,等C程序完成了SOCKET初始化后,再启动本地连接,此时却是可以正常工作的。
      

  2.   

    XiangDong(木头),
    好像可以,但是必须是先拨号,然后在激活本地连接。如果是本地连接还活动的时候,进行拨号,就不可以,不知道是什么原因?
      

  3.   

    sorry,其实这个我也没做过,如果像你所说的那样,我也不太清楚为什么