WinCE5.0 在VS2005(C#) RasDial 进行GPRS拨号成功后,已自动获得IP,但无法使用socket连接

netthief   2009-6-14 15:40 楼主
1,使用WinCE5.0操作系统,建立一个名为"GPRS"的拨号连接,GPRS模块使用串口与WINCE主板连接.
2,VS2005使用C#封装Ras的API函数来进行拨号.
3,使用RasDial函数已经使用GPRS拨号成功,经查已经获得IP,但无法上网页,socket也无法连接公网上机器.

4,在WINCE的"拨号连接"中,使用手动拨号成功后,可上网页,也可使用socket连接公网上的机器.


请达人解决一下,谢谢!

回复评论 (15)

这两种方式是一样的啊,你要确认RasDial函数返回拨号成功哦。另外:你确定你rasdial调用的是GPRS连接吗?
点赞  2009-6-14 17:46
回楼上:
DWORD RasDial(
  LPRASDIALEXTENSIONS dialExtensions,
  LPTSTR phoneBookPath,
  LPRASDIALPARAMS rasDialParam,
  DWORD NotifierType,
  LPVOID notifier,
  LPHRASCONN pRasConn
);

我使用窗体对拨号的状态进行了监测,即notifier参数,最后得到的消息是"已连接上",
我使用DWORD RasGetConnectStatus(
  HRASCONN rasconn,
  LPRASCONNSTATUS lprasconnstatus
);函数测试是否成功,该函数返回0,而且我是得到了IP的.
终上述,应该确认我拨号成功.
点赞  2009-6-14 18:17
拨号应该看到rnnap.exe连接界面的,成功了吗?成功后用命令行ping一下baidu看看行不行。
点赞  2009-6-14 21:22
楼上,rnnap.exe连接界面是指"拨号连接"那个界面吗?
点赞  2009-6-14 23:20
点赞  2009-6-15 09:13
关注
点赞  2009-6-15 09:40
"rnaapp.exe",USB连接Activesync和GPRS拨号都会用的,只是名字不同而已。
点赞  2009-6-15 09:57
是不是设置了网关?wince拨号上网不能设置网关。
点赞  2009-6-15 10:29
引用: 引用 8 楼 constantine 的回复:
是不是设置了网关?wince拨号上网不能设置网关。


程序里还没设置网关,全部使用默认,在"网络拨号"建立拨号连接成功后,手动连接,可上网页,可连接socket.

使用程序直接拨
RaDial("GPRS111", "", "", "", "" , "")

检查已连接上,就是无法上网,无法连接socket,

点赞  2009-6-15 10:50
引用: 引用 7 楼 shuiyan 的回复:
"rnaapp.exe",USB连接Activesync和GPRS拨号都会用的,只是名字不同而已。


手动拨号出现这个窗口,程序用RasDial拨号没有设置显示窗体,事实上,我只是RasDial了一下,自己建立了个接收拨号状态的窗体,如
端口已打开
已通过验证...
...
已连接上

就这些

程序RasDial拨号成功后,使用socket连接服务器,出现以下错误:

连接方在一段时间后未适当响应而导致连接尝试失败,或者连接的主机未能响应而导致无法连接

没有人碰到相同的情况么?
点赞  2009-6-15 10:54
没人遇到过类似情况么?

现在情况是这样子了,程序启动后,使用程序RasDial拨号成功后,使用HangUp挂断,然后再使用RasDial拨号成功,即可连上网页,进行Socket连接,


有没有达人解释一下原因?
点赞  2009-6-18 08:54
把USB先拔下,或者中断同步连接试试看。
点赞  2009-7-18 19:15
问题解决了吗?能不能把你的代码给我用一下。我也在搞自动拨号,而且用的是c#.我的邮箱:fujing77777@126.com
点赞  2009-10-20 12:06
我现在也正在做这方面的工作,呵呵,能不能和楼主交流一下啊?
点赞  2010-1-24 19:26
我也遇到了这个问题,楼主解决了吗?
点赞  2010-1-28 23:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复