Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java UDP发送不起作用Android Studio_Java_Android_Udp_Esp8266 - Fatal编程技术网

Java UDP发送不起作用Android Studio

Java UDP发送不起作用Android Studio,java,android,udp,esp8266,Java,Android,Udp,Esp8266,我已将ESP8266设置为UDP服务器。。我已经尝试使用Delphi7作为UDP客户端,它可以工作。。但是有了这个安卓代码,它什么也没有收到。。请帮帮我..您没有捕获肯定会抛出的异常。你不能在主线程上运行任何网络操作。至少,你应该做一些事情来捕获异常。记录它您可能会遇到NetworkOnMainThreadException,因为您正试图在主线程上执行网络操作。试着把它放在一个异步任务中,就像下面解释的那样。@AndrewBrooke ok,我很困惑。。请告诉我如何使用这些异步任务。。图特

我已将ESP8266设置为UDP服务器。。我已经尝试使用Delphi7作为UDP客户端,它可以工作。。但是有了这个安卓代码,它什么也没有收到。。请帮帮我..

您没有捕获肯定会抛出的异常。你不能在主线程上运行任何网络操作。至少,你应该做一些事情来捕获异常。记录它您可能会遇到NetworkOnMainThreadException,因为您正试图在主线程上执行网络操作。试着把它放在一个异步任务中,就像下面解释的那样。@AndrewBrooke ok,我很困惑。。请告诉我如何使用这些异步任务。。图特
    public class MainActivity extends ActionBarActivity {
    LinearLayout vpad;

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

    vpad.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    String vtmp="Testing";
                    send_udp(vtmp);
                    return true;
                }
            });

public void send_udp(String msg){
        DatagramSocket cs=null;
        InetAddress ipx=null;
        byte[] ip_byte=new byte[]{(byte)192,(byte)168,(byte)4,(byte)1};
        try {
            ipx = InetAddress.getByAddress(ip_byte);
        } catch (Exception E){

        }
        byte[] xdata=msg.getBytes();
        DatagramPacket sp=new DatagramPacket(xdata,xdata.length,ipx,87);
        try{
            cs=new DatagramSocket();
            cs.send(sp);
        } catch (Exception E) {

        } finally {
            if(cs!=null){
                cs.close();
            }
        }
    }