沒(méi)錯(cuò),又是AS的網(wǎng)絡(luò)問(wèn)題,而且又是代理的問(wèn)題,真是不省心吶!!
最近在做curl移植到Android JNI的工作,老是出現(xiàn) CURLE_PARTIAL_FILE 錯(cuò)誤。
用Wireshark抓包居然還抓不出來(lái),于是懷疑模擬器是用本地代理的方式連接網(wǎng)絡(luò)的。
netstat -aon | grep 模擬器pid
看看是通過(guò)哪個(gè)端口訪問(wèn),終于揪出這個(gè)小東西:
TCP 127.0.0.1:5554 0.0.0.0:0 LISTENING 13676
TCP 127.0.0.1:5555 0.0.0.0:0 LISTENING 13676
TCP 127.0.0.1:5555 127.0.0.1:7121 ESTABLISHED 13676
TCP 127.0.0.1:7097 127.0.0.1:5037 ESTABLISHED 13676
TCP 127.0.0.1:11126 127.0.0.1:1991 CLOSE_WAIT 13676
TCP 127.0.0.1:11788 127.0.0.1:1991 ESTABLISHED 13676
TCP 127.0.0.1:11966 127.0.0.1:1991 ESTABLISHED 13676
TCP [::1]:5555 [::]:0 LISTENING 13676
那個(gè)1991端口的不就是我的SSR本地端口嗎????!
恍然大悟,原來(lái)AS里面的代理設(shè)置會(huì)影響到模擬器,出于不明原因,對(duì)于Http代理還支持的不好,導(dǎo)致模擬器環(huán)境內(nèi)的網(wǎng)絡(luò)總是出現(xiàn)莫名其妙的問(wèn)題。
那把AS里面的Http proxy改成No Proxy,重啟模擬器就搞定了。(模擬器運(yùn)行期間修改Http Proxy不生效,這樣反而可以利用來(lái)分離AS用的代理和模擬器用的網(wǎng)絡(luò),雖然每次都得改一下比較麻煩)