1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. daviddy, 28.06.2012 #1
    daviddy

    daviddy Threadstarter Neuer Benutzer

    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

    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

    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

    Kannst du mal die LogCat ausgabe mitposten?
     
  5. DieGoldeneMitte, 29.06.2012 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Internet permission gesetzt?
     

Diese Seite empfehlen