相关疑难解决方法(0)

Android UDP通讯

我在这个网站上阅读了很多关于如何在Android中接收UDP数据包的帖子.但是,这对我来说都不起作用!

一些基础知识:

我正在测试运行在3G上的HTC Incredible(Android 2.2)(不是wifi或其他任何东西).这里不涉及模拟器.

我的代码很简单:

  1. 我的服务器(在我的PC上运行)正在侦听端口8752上的UDP流量.
  2. 我的Android应用程序在随机端口上打开一个DatagramSocket,并使用此端口将数据包发送到我的服务器.
  3. 然后我保存此信息(InetAddress形成接收的数据包和数据包中找到的端口).
  4. 我尝试从我的服务器(再次,在我的电脑上)发送UDP数据包到我的Android应用程序(在我的手机上运行),它不起作用.
//Server code to initialize the UDP socket (snippet)
public void init() {
    datagram_server_socket = new DatagramSocket(port,local_addr);
    datagram_server_socket.setSoTimeout(1000);
}
Run Code Online (Sandbox Code Playgroud)

// ANDROID APP上的代码片段,用于将数据包发送到服务器

public void connect() {
    Random r = new Random(System.currentTimeMillis());
    int udp_port = 0;
    while(true){
        try {
            udp_port = r.nextInt(1000)+8000;
            udp_port = 8000;
            comm_skt = new DatagramSocket(udp_port);
            Log.i("ServerWrapper", "UDP Listening on port: " + udp_port);
            break;
        } catch(SocketException e) {
            Log.e("ServerWrapper", "Could not bind to port " + udp_port);
        } …
Run Code Online (Sandbox Code Playgroud)

java android udp

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

java ×1

udp ×1