1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

UDP-Wifi Verbindung

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von daviddy, 28.06.2012.

  1. daviddy, 28.06.2012 #1
    daviddy

    daviddy Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    20.06.2012
    Hallo
    ich versuche eine App zu entwickeln, dadurch man eine Verbindung mit Android und PC herstellen und daten senden kann. Meine Code für Client(Android) Seite ist:
    Code:
    
    
    public class ClientActivity extends Activity {
        /** Called when the activity is first created. */
    
        EditText textOut;
        TextView textIn;
        EditText ipadress;
        EditText port;
        String ip = "0";
        int UDP_SERVER_PORT=5001;
        
        
          
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            ipadress = (EditText) findViewById(R.id.ipadresse);
         
            textOut = (EditText) findViewById(R.id.textout);
            Button buttonSend = (Button) findViewById(R.id.send);
            textIn = (TextView)findViewById(R.id.textin);
            buttonSend.setOnClickListener(buttonSendOnClickListener);
    
        }
    
        Button.OnClickListener buttonSendOnClickListener = new Button.OnClickListener() {
    
            public void onClick(View arg0) {
    
        
                        try {
                            
                        
                        ip = ipadress.getText().toString();
                    
                        int port =UDP_SERVER_PORT;
                        InetAddress serverAddr = InetAddress.getByName(ip);
                        Log.d("UDP", "Connecting..");
                        DatagramSocket clientsocket = new DatagramSocket(port);
                        byte[] sendbuf =("Hello from Client").getBytes();
                        byte[] receivebuf=new byte[1024];
                        
                        Log.d("UDP","Sending: ' "+new String(sendbuf)+"'");
                        //new byte[1500];
                        DatagramPacket sendpacket = new DatagramPacket(sendbuf, sendbuf.length, serverAddr,port);
                        Log.d("UDP", "Send..");
                        clientsocket.send(sendpacket);
                        
                        Log.d("UDP", "Done");
                        DatagramPacket receivepacket = new DatagramPacket(receivebuf, receivebuf.length);
                        clientsocket.receive(receivepacket);
                    
                        String modifiedSentence=new String(receivepacket.getData());
                        System.out.println("FROM SERVER:"+modifiedSentence);
                        
                        clientsocket.close();
                       
                        }catch (Exception e) {
                            Log.e("UDP", "C: Error", e);
                        }
    
        }
    
        };
    
    }
    
    
    
    und Server Seite:
    Code:
    
    import java.io.*;
    import java.net.*;
    
    class UDPServer
    {
       public static void main(String args[]) throws Exception
          {
             DatagramSocket serverSocket = new DatagramSocket(5001);
                byte[] receiveData = new byte[1024];
                byte[] sendData = new byte[1024];
                while(true)
                   {
                      DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
                      serverSocket.receive(receivePacket);
                      String sentence = new String( receivePacket.getData());
                      System.out.println("RECEIVED: " + sentence);
                      InetAddress IPAddress = receivePacket.getAddress();
                      int port = receivePacket.getPort();
                      String capitalizedSentence = sentence.toUpperCase();
                      sendData = capitalizedSentence.getBytes();
                      DatagramPacket sendPacket =
                      new DatagramPacket(sendData, sendData.length, IPAddress, port);
                      serverSocket.send(sendPacket);
                   }
          }
    }
    
    Von meinem Android kann ich leider nicht sendet. Auf eine Antwort freue ich mich sehr.
    Grüsse
     
  2. Unicate, 29.06.2012 #2
    Unicate

    Unicate Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Deine Fehlerbeschreibung ist leider ein wenig ungenau.

    Was heisst "...vom Android kann nicht gesendet werden.."?

    Heisst das das es mit anderen Programmen geht?
    Hast du die Firewalleinstellungen an deinem Rechner, der Server spielt, mal geprüft?
     
  3. daviddy, 29.06.2012 #3
    daviddy

    daviddy Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    20.06.2012
    ich meinte, dass ich von meinem Android Smatphone kein einziges zu pc senden kann. Wenn ich auf button send drücke, hängt app einfach auf.
     
  4. Unicate, 29.06.2012 #4
    Unicate

    Unicate Android-Experte

    Beiträge:
    473
    Erhaltene Danke:
    57
    Registriert seit:
    09.08.2010
    Kannst du mal die LogCat ausgabe mitposten?
     
  5. DieGoldeneMitte, 29.06.2012 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Internet permission gesetzt?
     

Diese Seite empfehlen