android接收不到udp包吗?
package com.android.figo;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import java.io.IOException;
import java.net.*;
public class ReceiveUDP extends Activity {
/** Called when the activity is first created. */
DatagramPacket pack=null;
DatagramSocket mail_data=null;
byte receiver[]=new byte[100];
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
pack=new DatagramPacket(receiver,receiver.length);
mail_data=new DatagramSocket(8888);
mail_data.receive(pack);
}
catch (Exception e) {}
String s=new String(receiver);
Log.d("figo",s);
}
}
程序很短,我用自己电脑上的java程序给自己电脑上模拟器发送udp包,发端经测试好用(用自己电脑上另一个java程序接收到了包),这个完全接收不到,uses permission我也设置过Internet了,还是不好用~~~
[解决办法]
UDP是收不到的,只能用TCP!
我之前研究用UDP有段时间,最后放弃用TCP来做。
[解决办法]
我用WIFI做的,手机来发UDP广播包,PC收广播包,成功。手机收UDP,这个不清楚,但Android用的全是Java标准的tcp,UDP操作肯定不会只操作tcp而不能操作UDP,是不是你的硬件有点问题。你使用WIFI连接的吗。