Avatar
mara
Člen
Avatar
mara:

ahojte mám problém. Už jsem hledal snad všude a nevím, kde dělám chybu. Aplikace má odeslat text z mobilu na počítač.
Na počítači vypadá program takto :

package javaapplication7;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Javaclass7 {

    private static ServerSocket serverSocket;
    private static Socket clientSocket;
    private static InputStreamReader inputStreamReader;
    private static BufferedReader bufferedReader;
    private static String message;

    public static void main(String[] args) {
        try {
            InetAddress ip;
            try{
            ip = InetAddress.getLocalHost();
            }catch(Exception e){
                e.printStackTrace();
            }

            System.out.println(InetAddress.getLocalHost().getHostAddress());



            try {
                serverSocket = new ServerSocket(4444);  //Server socket

            } catch (IOException e) {
                System.out.println("Could not listen on port: 4444");
            }

            System.out.println("Server started. Listening to the port 4444");

            while (true) {
                try {

                    clientSocket = serverSocket.accept();   //accept the client connection
                    System.out.println("pripojeno");
                    inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
                    bufferedReader = new BufferedReader(inputStreamReader); //get the client message
                    message = bufferedReader.readLine();

                    System.out.println(message);
                    inputStreamReader.close();
                    clientSocket.close();

                } catch (IOException ex) {
                    System.out.println("Problem in message reading");
                }
            }
        } catch (UnknownHostException ex) {
            Logger.getLogger(Javaclass7.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}

výstup vypadá takto :

127.0.1.1
Server started. Listening to the port 4444

v mobilu takto :

package com.example.marek.bluetooth_comunication;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.UnknownHostException;


public class MyActivity extends ActionBarActivity {
    Socket socketClient;
    String text;
    String cele;
    Socket client;
    PrintWriter printwriter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        Button tl = (Button)findViewById(R.id.button);
        tl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Thread server = new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {

                            client = new Socket("127.0.1.1", 4444);  //connect to server
                            printwriter = new PrintWriter(client.getOutputStream(),true);
                            printwriter.write("ahoj");  //write the message to output stream
                            printwriter.flush();
                            printwriter.close();
                            client.close();   //closing the connection

                        } catch (UnknownHostException e) {
                            e.printStackTrace();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }

                    }
                });
                server.setDaemon(true);
                server.start();

            }
        });


    }




    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.my, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

a manifest takto:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.marek.bluetooth_comunication" >
    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MyActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Děkuji všem za jakoukoliv radu. Doufám, že konečně příjdu na to, co tam dělám blbě. Můžu mačkat tlačítko v mobilu sebevíc, ale nic se nestane.

Odpovědět 13.12.2014 17:53
Co na srdci, to na Facebooku
Avatar
Odpovídá na mara
Josef Kuchař (Pepa489):

Dej tam místo adresy 127.0.1.1 adresu lokální tvého počítače ;)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 13.12.2014 20:56
2x piš, jednou debuguj
Avatar
mara
Člen
Avatar
Odpovídá na Josef Kuchař (Pepa489)
mara:

díky moc to byla asi jinačí ip adresa

Nahoru Odpovědět 13.12.2014 20:58
Co na srdci, to na Facebooku
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.