WM平台WinnetAPI连接服务器后断开APN再次连接APN重连服务器失败的问题。
具体现象和步骤是这样的,程序启动第一次使用WinnetAPI:
1.连接APN...
2.创建internent连接服务器:
InetOpen = InternetOpen(...., INTERNET_FLAG_ASYNC|INTERNET_FLAG_RELOAD);
InternetSetStatusCallback
InternetConnect
...
3.请求数据HttpSendRequest
经过上述步骤后客户端可以正常请求并接收到数据,客户端接收的事件包括:
INTERNET_STATUS_RESOLVING_NAME
INTERNET_STATUS_NAME_RESOLVED
INTERNET_STATUS_CONNECTING_TO_SERVER
INTERNET_STATUS_CONNECTED_TO_SERVER
INTERNET_STATUS_SENDING_REQUEST
INTERNET_STATUS_REQUEST_SENT
INTERNET_STATUS_RECEIVING_RESPONSE
INTERNET_STATUS_RESPONSE_RECEIVED
....
而如果此时断开APN(无论是程序还是用户自己断开),无论是否关闭internet,重复上述步骤1,2,3则出问题,第一次请求无法接收到服务器的响应,客户端接收到的事件为:
INTERNET_STATUS_SENDING_REQUEST
INTERNET_STATUS_REQUEST_SENT
INTERNET_STATUS_RECEIVING_RESPONSE
没有收到INTERNET_STATUS_CONNECTING_TO_SERVER, INTERNET_STATUS_CONNECTED_TO_SERVER, INTERNET_STATUS_RESPONSE_RECEIVED等事件,客户端等待一直到超时,查看服务器日志无任何请求。
如果再次重新请求则一切正常,后续请求都正常了。
经测试WM自带的IE也有这个问题:打开IE输入网址连接APN,打开网页一切正常。再断开APN刷新当前网址重新连接APN,但无法打开当前网址一直到超时,再次刷新之后一切正常。如果断开APN后重连APN时间较长则没有这个问题。
而UCWEB等软件测试无此问题。
请求高人指点,该问题是否有好的解决办法。