簡體   English   中英

在Android模擬器上創建UDP連接

[英]Creating a UDP Connection on Android Emulator

我正在嘗試使用Android Studio及其模擬器在給定端口上創建簡單的UDP連接。 我能夠使用eclipse運行的客戶端/服務器來完成這項工作。

但是,當將代碼移植到android中時,打開的端口是TCP。

下面是android代碼:

@Override
    public void run() {
        // Perform our network ops in this loop, anything blocking really...

        try {
            Log.d(TAG, "UDP Connecting to " + HOST + " on port " + PORT);
            datagramSocket = new DatagramSocket();

            String host = "localhost";
            InetAddress address = InetAddress.getByName(host);

            byte[] message = "UDP is da best".getBytes();
            DatagramPacket packet = new DatagramPacket(message, message.length, address, PORT);

            datagramSocket.send(packet);

            byte[] buffer = new byte[65536];
            DatagramPacket incoming = new DatagramPacket(buffer, buffer.length);

            while (true) {
                datagramSocket.receive(incoming);
                byte[] data = incoming.getData();
                String s = new String(data, 0, incoming.getLength());

                Log.d(TAG, "Client: " + incoming.getAddress().getHostAddress() + " : " + incoming.getPort() + " - " + s);

                Thread.sleep(500);

                DatagramPacket dp = new DatagramPacket(s.getBytes() , s.getBytes().length , incoming.getAddress() , PORT);
                datagramSocket.send(dp);
            }
        } catch (Exception e) {
            Log.d(TAG, e.toString());
        }

    }

這段代碼幾乎可以從這里獲取

以下是創建為TCP的端口的圖片:

使用第一個更改端口解決問題因為5555正在使用而127.0.0.1也不是要使用的ip,使用10.0.2.2讓我連接並解決所有問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM