android UDP通信问题

一》一个socket只能用于收或者发吗?
      一个socket既可以收也可以发,一般分别用收线程和发线程处理收发事件

二》两个android模拟器之间可以进行UDP通信吗?

        同一台电脑上的两个android模拟器之间不可以进行UDP通信

       分别位于两台电脑上的两个模拟器之间可以进行UDP通信

一台电脑的模拟器可以和C,Java编写的Socket端进行通信,无论这两个socket是否在同一台电脑上

三》模拟器进行UDP通信的地址配置问题(UDP通信可以发送出去数据,但是接收不到数据的原因,大多是因为地址没用重定向好)

首先,在程序运行之前打开模拟器,

       然后进入电脑终端,Linux下的console,win下点击运行——》CMD即可,然后依次键入如下命令行

       telnet localhost 5554            ;连接到模拟器端口5554,就是模拟器界面上的最左上角的emulator ****中****所代表的端口号,若出现提示telnet不是内部命令之类的,说明电 脑 没有装好这个软件,win7的一般有这个问题,xp没有这个问题,解决方案:问度娘

redir add <protocol>:<host-post>:<guest-port>   ;模拟器自身有个IP地址,并且会自动将自身的IP地址重定向到本机地址,也就是说,程序运行之后,模拟器自动搭起了由模拟器-->本机电脑,这样一条数据流通路,所以,数据可以通过这条通路从本机电脑上发送出去;而接收数据时,我们需要这样一条通路:本机电脑--》模拟器,这条通路需要我们自己通过重定向获得,否则,数据发送到本机电脑上后,由于没有到模拟器的数据流通路,数据到不了模拟器。这条命令的意思是:在protocal协议下,将本机电脑的端口port重定向到我们模拟器的port上,这样,就建立起了本机电脑--》模拟器的数据通路,从而,数据可以先发到本机电脑,然后到达模拟器

比如:redir add udp:5000:5000    表示使用UDP协议,将本机电脑上的端口5000重定向到模拟器端口5000.这样就可以接收到数据了

       最后,运行程序

PS:一定要注意两个socket之间发送和接收端口的对应关系


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值