当前位置:  开发笔记 > Android > 正文

如何在Android中使用UDP接收数据?

如何解决《如何在Android中使用UDP接收数据?》经验,为你挑选了1个好方法。

我使用以下代码从特定端口接收数据.它不适用于Android.但是将数据发送到特定端口工作正常.

public class UDPDemo extends Activity {
  private TextView tv;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tv = (TextView)findViewById(R.id.recv_message);
    try {
      DatagramSocket clientsocket=new DatagramSocket(9876);
      byte[] receivedata = new byte[1024];
      while(true)
      {
        DatagramPacket recv_packet = new DatagramPacket(receivedata, receivedata.length);
        Log.d("UDP", "S: Receiving...");
        clientsocket.receive(recv_packet);
        String rec_str = new String(recv_packet.getData());
        tv.setText(rec_str);
        Log.d(" Received String ",rec_str);
        InetAddress ipaddress = recv_packet.getAddress();
        int port = recv_packet.getPort();
        Log.d("IPAddress : ",ipaddress.toString());
        Log.d(" Port : ",Integer.toString(port));
      }
    } catch (Exception e) {
      Log.e("UDP", "S: Error", e);
    }
  }
}

ktingle.. 5

如果您使用的是模拟器,则可能需要设置重定向,请记住模拟器位于虚拟路由器后面.

换句话说,键入这些命令;

telnet localhost 5554
redir add udp:9876:9876

然后再试一次.



1> ktingle..:

如果您使用的是模拟器,则可能需要设置重定向,请记住模拟器位于虚拟路由器后面.

换句话说,键入这些命令;

telnet localhost 5554
redir add udp:9876:9876

然后再试一次.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有