0

Eclipse で UDP レシーバーを実行したいと考えています。しかし、うまくいきません。udp 送信側は正常に機能し、パケットは特定のポートを介して送信されます。ただし、エミュレーターは udp 送信者を介してパケットを受信できません。助けが必要です。

4

1 に答える 1

1

私はあなたのシナリオが何であるかわかりませんが、私のシナリオによれば、phpスクリプトを使用してシステム(Windows 7)にUDPサーバーをセットアップし、次のコードでAndroidエミュレーターからUDPパケットを正常に送受信しました。

String receivedString="";

        byte[] sendData = new byte[1024];
        byte[] receiveData = new byte[1024];

        sendData = stringToBeSended.getBytes();

        DatagramPacket sendPacket = new DatagramPacket(sendData,
                sendData.length, IPAddress, port);

        DatagramSocket clientSocket;
        try {
            clientSocket = new DatagramSocket();


            clientSocket.send(sendPacket);

            DatagramPacket receivePacket = new DatagramPacket(receiveData,
                    receiveData.length);
            clientSocket.receive(receivePacket);
            receivedString = new String(receivePacket.getData());
            clientSocket.close();
        } catch (SocketException e) {
            Log.v("SocketExceptionOccured", e.toString())
            e.printStackTrace();
        } catch (IOException e) {
            Log.v("IOExceptionOccured", e.toString())
            e.printStackTrace();
        }

        Toast.makeText(getBaseContext(), receivedString, Toast.LENGTH_LONG).show();
于 2013-01-17T11:02:10.443 に答える