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

kurze frage zum Socket bzw TCP verbindung

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von mitch_HD2, 06.12.2011.

  1. mitch_HD2, 06.12.2011 #1
    mitch_HD2

    mitch_HD2 Threadstarter Erfahrener Benutzer

    Beiträge:
    150
    Erhaltene Danke:
    1
    Registriert seit:
    30.10.2011
    Habe folgenden Code.. hab ich irgendwo hier aus dem Forum
    startet alles schön und gut..

    dann hab ich noch ein Server unter Visual Basic gemacht mit Streamreader, und TCPListener.. mit meinem VB Client kann ich auf den Server nachrichten schreiben... klappt...

    allerdings nicht mit meiner app..

    kann es sein dass die beiden nicht miteinander arbeiten können?

    Android
    Code:
    package com.example.chat;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.EditText;
    
    import java.net.*;
    import java.io.*;
    
    
    public class MyChatCientAppActivity extends Activity {
        /** Called when the activity is first created. */
        String ip = "0";
        ChatClient client = null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
             
             
             
        }
        
        public void onSendClick(View v)
        {
            EditText nachricht = (EditText) this.findViewById(R.id.EditText01);
            String msg = nachricht.getText().toString();
            client.send(msg);
            
        }
        
        public void onConnectClick(View v)
        {
            EditText AdressEditText = (EditText) this.findViewById(R.id.EditText02);
            ip = AdressEditText.getText().toString();
            int port = 4000;
            client =  new ChatClient(ip, port);
        }
    }
    
    class ChatClient
    { 
       private Socket socket              = null;
       private DataInputStream  console   = null;
       private DataOutputStream streamOut = null;
    
       public ChatClient(String serverName, int serverPort)
       {  System.out.println("Establishing connection. Please wait ...");
          try
          {  socket = new Socket(serverName, serverPort);
             Log.d("DEBUG","Connected: " + socket);
             start();
          }
          catch(UnknownHostException uhe)
          {  Log.d("DEBUG","Host unknown: " + uhe.getMessage());
          }
          catch(IOException ioe)
          {  Log.d("DEBUG","Unexpected exception: " + ioe.getMessage());
          }
          
         
       }
       
       public void start() throws IOException
       {  
          console   = new DataInputStream(System.in);
          streamOut = new DataOutputStream(socket.getOutputStream());
       }
       
       public void stop()
       {  try
          {  if (console   != null)  console.close();
             if (streamOut != null)  streamOut.close();
             if (socket    != null)  socket.close();
          }
          catch(IOException ioe)
          {  System.out.println("Error closing ...");
          }
       }
       
       public void send(String msg)
       {
           try
           {  
              streamOut.writeUTF(msg);
              streamOut.flush();
           }
           catch(IOException ioe)
           {  
               Log.d("DEBUG","Sending error: " + ioe.getMessage());
           }
       }
      
    }

    VB Code
     
  2. ChrisMobile, 06.12.2011 #2
    ChrisMobile

    ChrisMobile Android-Experte

    Beiträge:
    529
    Erhaltene Danke:
    74
    Registriert seit:
    17.03.2010
    Phone:
    HTC One X
    Hast du dem Input- und Output Stream auch irgendwo gesagt, dass sie zum Socket gehören?

    Entweder bin ich blind oder du hast es nicht mit im Code.
     
  3. mitch_HD2, 12.12.2011 #3
    mitch_HD2

    mitch_HD2 Threadstarter Erfahrener Benutzer

    Beiträge:
    150
    Erhaltene Danke:
    1
    Registriert seit:
    30.10.2011
    streamOut = new DataOutputStream(socket.getOutputStream());

    hab ich^^
     

Diese Seite empfehlen