如何修正安卓虚拟机收不到udp包的问题
前言
当我们做安卓开发时,大多数人还是习惯用虚拟机,毕竟真机巴拉来巴拉去的不如鼠标方便,尤其是调试一些功能模块时,比如socket udp , 下文说明如何用as+虚拟机调试 socket udp, 实测
如何搭建udp服务器和客户端不提了,简单的搭建随便找一个吧
首先我们的前提是 我们在pc上建立了一个UDP服务器,目的是通过这服务器给虚拟机发送一个udp包
但如何发送这个包呢?
如果想当然的这样做在server上给"127.0.0.1:9014"发送包,然后在虚拟机的9014端口接受包,你会发现无论发多少次,虚拟机什么都收不到。 原因是,你这个包并不是发给虚拟机了,而是发给了本地端口,
也许你会说,给虚拟机发应该用虚拟机的ip地址,好的,通过尝试我们发现给虚拟机的ip地址+9014端口,仍然无法收到。(我用工具查看的虚拟机ip地址是10.0.2.15)
正确步骤
1.把PC端口9014映射到虚拟机,意思就是当PC 9014端口收到udp包,它会转发给虚拟机相应的端口
使用windows程序telnet即可达到映射的目的,(注意Telnet在win10需要开启,可查找怎么开启这个程序)
打开cmd 输入如下命令连接到本地虚拟机
telnet localhost 5554
连接成功后他会提示你输入验证,并告诉你验证码在哪里
绛旓細锛堟垜鐢ㄥ伐鍏锋煡鐪嬬殑铏氭嫙鏈ip鍦板潃鏄10.0.2.15) 姝g‘姝ラ 1.鎶奝C绔彛9014鏄犲皠鍒拌櫄鎷熸満锛屾剰鎬濆氨鏄綋PC 9014绔彛鏀跺埌udp鍖咃紝瀹冧細杞彂缁欒櫄鎷熸満鐩稿簲鐨勭鍙 浣跨敤windows绋嬪簭telnet鍗冲彲杈惧埌鏄犲皠鐨勭洰鐨勶紝锛堟敞鎰廡elnet鍦╳in10闇瑕佸紑鍚紝鍙煡鎵炬庝箞寮鍚繖涓▼搴) 鎵撳紑cmd 杈撳叆濡備笅鍛戒护杩炴帴鍒版湰鍦拌櫄鎷熸満 ...
绛旓細涓鑸槸澶氫釜瀵艰嚧鐨勶紝寤鸿鍏堢鐢铏氭嫙鏈鐨2涓櫄鎷熺綉鍗Mnet1鍜孷Mnet8锛屽鏋滆繕涓嶈锛屽氨鎶婁笉鐢ㄧ殑缃戝崱閮界鐢
绛旓細鐗╃悊涓绘満鏄氳繃璺敱鍣ㄤ笂缃戠殑锛岃鎶婅櫄鎷熸満缃戝崱璁剧疆涓烘ˉ鎺ユā寮忥紝鍦ㄨ矾鐢卞櫒涓婅缃鍙f槧灏銆傜墿鐞嗕富鏈烘槸閫氳繃adsl鎷ㄥ彿涓婄綉鐨勶紝璇锋妸铏氭嫙鏈虹綉鍗¤缃负nat妯″紡锛屽湪nat妯″紡涓婅缃鍙f槧灏勩傚鏋滀綘浣跨敤vpc铏氭嫙鏈 锛屽皢涓嶈兘鐢╪at妯″紡鐨勭鍙f槧灏勩傚鏋滀綘浠巌sp閭i噷鎷垮埌鐨勪笉鏄叕缃慽p锛岄偅涔堜綘涔熶笉鑳芥槧灏 ...
绛旓細璺敱鐨勮瘽 灏辨槸璇村眬鍩熺綉鍐呮湁UDP鍖呰椋庝簯鎷︽埅浜嗭紙寰堝彲鑳芥槸骞挎挱鍖 鍙涓嶆槸澶ч噺鐨 姝e父锛侊級铏氭嫙鏈 鏇存甯镐簡 鐩存帴妗ユ帴鍒颁綘鐨勭綉鍗′笂闈㈢殑 濡傛灉2鑰呴兘涓嶆槸 閭e氨鏄綘鏀跺埌浜哢DP骞挎挱鍖 浣犵敤ADSL鎷ㄥ彿鍒版湇鍔″櫒涓婂氨鐩稿綋浜庝綘鎺ュ叆浜嗕竴涓ぇ鐨勫眬鍩熺綉~鎵浠 鏀跺埌鐐规敾鍑诲寘寰堟甯竳浣犲彲浠ュ拷鐣ヤ笉璁★紒
绛旓細鍦∟AT 缃戣矾涓,浼氫娇鐢ㄥ埌VM8 铏氭嫙浜ゆ崲鏈,Host 涓婄殑VMware Neork Adapter VM8 铏氭嫙缃戠粶鍗¤杩炵嚎鍒癡M8浜ゆ崲鏈轰笂,鏉ヤ笌Guest 杩涜閫氳,浣嗘槸VMware Neork Adapter VM8 铏氭嫙缃戠粶鍗′粎浠呮槸鐢ㄤ簬鍜孷M8 缃戞閫氳鐢ㄧ殑,瀹冨苟涓嶄负VM8 缃戞鎻愪緵璺敱鍔熻兘,澶勪簬铏氭嫙NAT 缃戣矾涓嬬殑Guest 鏄娇鐢ㄨ櫄鎷熺殑NAT 浼烘湇鍣ㄦ潵杩炵嚎鍒癐nter 鐨勩
绛旓細姝ラ1锛屽垱寤轰竴涓铏氭嫙浜ゆ崲鏈簐Switch1 鍒涘缓涓涓笉闇瑕佺墿鐞嗙綉鍗$殑铏氭嫙浜ゆ崲鏈恒傛楠2锛屾妸鐩戞帶涓绘満鐨勪袱鍧楃綉鍗″垎鍒帴鍒颁袱涓櫄鎷熶氦鎹㈡満 鐩戞帶涓绘満鐨勪袱鍧楃綉鍗″垎鍒帴鍒颁袱涓櫄鎷熶氦鎹㈡満銆傛楠3锛岀洃鎺т富鏈烘墍鍦ㄤ袱鍧楃綉鍗¤繛鎺ョ殑铏氭嫙浜ゆ崲鏈洪兘瑕佸厑璁糕滄潅涔辨ā寮忊濈洃鎺т富鏈烘墍鍦ㄤ袱鍧楃綉鍗¤繛鎺ョ殑铏氭嫙浜ゆ崲鏈洪兘瑕佸厑璁糕滄潅涔辨ā寮忊濄
绛旓細浣犳槸鍦ㄦ湰鍦拌繕鏄湰鍦铏氭嫙鏈杩樻槸VPS涓婄劧鍚庡鎴风杩炴帴杩涜娴嬭瘯鐨勶紙灏辨槸瀹㈡埛鏈烘槸鍦ㄥ摢锛夛紵鏄笉鏄繍钀ュ晢瀵艰嚧udp涓㈠寘锛熻繕鏈夊氨鏄痠ptables閲屾槸涓嶆槸璁剧疆鐨勮繃浜庝弗鏍间簡锛熸寚瀹氱鍙d紶涓嶈繘UDP锛熻繖涔熸槸浼氬鑷磋繖绉嶇幇璞$殑鍘熷洜銆傝繕鏈夛紝iperf涔熷彲浠ョ敤鏉ユ祴璇晆dp鏁版嵁鍖呭悶鍚愰噺鎴栬呬咯鏈哄櫒涔嬮棿udp鐨勫欢杩熴
绛旓細浣犳槸鍦铏氭嫙鏈杩樻槸VPS涓婄劧鍚庡鎴风閾炬帴杩涜娴嬭瘯鐨勶紵铏氭嫙鏈虹殑璇濅竴鑸笉瀛樺湪杩欎釜闂锛屼絾鏄鏋滄槸鍚庤呯殑璇濋偅灏辨湁鍙兘鏄綘瀹藉甫杩愯惀鍟嗛棶棰樹簡锛岃繕鏈夊氨鏄痠ptables閲屾槸涓嶆槸璁剧疆鐨勮繃浜庝弗鏍间簡锛50000绔彛浠ヤ笂浼犱笉杩UDP锛熻繖涔熸槸浼氬鑷磋繖绉嶇幇璞$殑鍘熷洜銆
绛旓細1銆佹柟娉曚竴锛屼竴鍙铏氭嫙鏈嶅姟鍣ㄨ鏈変袱寮犺櫄鎷熺綉鍗$敤2003server鎴2008server绛夋湇鍔″櫒绯荤粺锛屽惎鐢ㄢ滆矾鐢卞拰杩滅▼璁块棶鈥濋厤缃畁at銆2銆佹柟娉曚簩锛屼竴鍙拌櫄鎷熸湇鍔″櫒鐢⊿yGate绛変唬鐞嗘湇鍔″櫒杞欢銆傜敤鏂规硶涓锛屼袱鍙拌櫄鎷熷鎴锋満閰嶇疆涓庢湇鍔″櫒鍐呯綉鍗″悓涓缃戞鐨刬p鍦板潃銆備緵浣犲弬鑰冿細NAT鏈嶅姟鍣ㄥ湪win 2003鏄浣曢厤缃殑 https://jingyan....