织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>嵌入式开发>Android>

android模拟器接收不到UDP数据包

jackyhwei 发布于 2011-12-07 15:45 点击:次 
这外是PC与模拟器间UDP包不通的解决方案,若是TCP的话,请参数前一篇文章:http://www.rosoo.net/a/201112/15424.html
TAG:

这外是PC与模拟器间UDP包不通的解决方案,若是TCP的话,请参数前一篇文章:http://www.rosoo.net/a/201112/15424.html

代码如下:

  1. DatagramPacket pack = null
  2. DatagramSocket mail_data = null
  3. byte receiver[] = new byte[100]; 
  4. try {  
  5.     pack = new DatagramPacket(receiver,receiver.length);  
  6.     mail_data = new DatagramSocket(22221);  
  7.     mail_data.receive(pack); 
  8.     }  
  9.     catch (Exception e) { 
  10.  e.printStackTrace(); 
  11.     } 

receive函数接收不到数据,一直在等待。

解决方法:
1. 运行模拟器
2. 打开window 命令行
    执行:telnet localhost 5554
   5554是模拟器的端口,执行之后会进入android console
3. 在console下执行:
   redir add udp:22221:22221
   其中,第一个端口号是PC的端口,第二个端口号是模拟器端口。(端口映射)
   执行此命令之后,会把PC 22221 端口接收到的数据转到模拟器的22221端口,就能从22221端口接收UDP数据包了

也就是说:Android模拟器上的程序UDP接收端口要设为22221,PC服务端要往PC的IP+端口22221发UDP数据包。

android模拟器接收不到UDP数据包

 

(jmu84xu)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201112/15425.html]
本文出处:blog.sina.com.cn/jmu84xu 作者:jmu84xu 原文
顶一下
(2)
50%
踩一下
(2)
50%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容