Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Простое Клиент-Серверное приложение - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Обновление без google play http://www.cyberforum.ru/android-dev/thread1279345.html
Всем привет! Цель следующая : надо сделать автообновление без участия человека, то есть запустить интент со старнадртным окном загрузки я конечно могу. А вот как сделать именно автоматическое...
Программирование Android Как создать анонимный об. GregorianCalendar с поступающими hour и minute? Вот код где я успешно использовал полученые данные и присвоил их в конце нужному объекту(mDate(15 строка)). // создание объекта Calendar для получения года, месяца и дня Calendar calendar... http://www.cyberforum.ru/android-dev/thread1279300.html
Работа с Item до нажатия Программирование Android
Здравствуйте. Есть активити, на ней стоит GridView из адаптера. По нажатию на изображение на нем ставится галочка, это описано в селекторе, номер выбранного изображения записывается в Preference....
Настройка openFrameworks для Android в Eclipse Программирование Android
Подскажите пожалуйста как правильно настроить в Eclipse openFrameworks для Android. Уже вторую неделю мучаюсь с настройкой и запуском. Качал OF для Андроида с оф.сайта http://openframeworks.cc/ в...
Программирование Android Вспышка на смартфоне http://www.cyberforum.ru/android-dev/thread1279057.html
Подскажите плиз как заставить вспышку мигать. При этом в определенном такте? Куда копать?
Программирование Android Автозапуск приложения после вылета/ошибки Возможно ли сделать чтобы приложение заново запускалось после вылета, критической ошибки и т.д. и чтобы оно висело в фоне. подробнее

Показать сообщение отдельно
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179

Простое Клиент-Серверное приложение - Программирование Android

19.10.2014, 22:00. Просмотров 2176. Ответов 5
Метки (Все метки)

Добрый день, начал осваивать андройд, и застопорился на некоторых моментах, вернее, Оно почему-то не работает, просто не коннектит к серверу. Сервер на моем домашнем компе, телефон используется для запуска клиента через Андройд Студию. Не могли бы сказать в чем ошибка?
Интернет дома подключен через мегафон 4г.
Заранее спасибо.
Клиент.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  import android.app.Activity;
        import android.os.Bundle;
        import android.view.Menu;
        import android.view.MenuItem;
        import android.view.View;
        import android.widget.*;
        import java.net.*;
        import java.io.*;
public class MyActivity extends Activity {
 
    private TextView Text2;
    private EditText Text1;
    public static Socket socket;
   // public final static String ip = "0";
    //public static final int SERVERPORT = 8080;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        try{
            int port = 8080;
        InetAddress serverAddr = InetAddress.getByName("83.149.48.76");
        socket = new Socket(serverAddr, port);
        }catch(UnknownHostException e){}catch(IOException e){}
        int port = 8080;
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        Text1 = (EditText) findViewById(R.id.editText);
        Text2 = (TextView) findViewById(R.id.textView2);
        final Button button1 = (Button) findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                try{
                Text2.setText("!");
                String Str = Text1.getText().toString();
                Text2.setText(Text1.getText().toString());
                PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
                out.println(Str); }
             catch (UnknownHostException e) {
 
            } catch (IOException e) {
 
            } catch (Exception e) {
 
            }
 
        }
 
        });
    }
 
 
    @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) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
Сервер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package server;
import java.net.*;
import java.io.*;
 
public class ServerMain {
static int ConQ=0;   
public static final int PORT = 8080;
   ServerThread Ar[] = new ServerThread [2]; 
   public ServerMain(){ // инициализируем 
    for(int j = 0;j<2;j++)
        Ar[j] = new ServerThread();
   
   }
   public static void main(String[] args) throws IOException{
      ServerSocket s = new ServerSocket(PORT);
 
      System.out.println("Server Started");
      try {
         while (true) {
            // Блокируется до возникновения нового соединения:
            Socket socket = s.accept();
            if(socket != null) System.out.println("Первый подключен");
           // Socket socket2 = s.accept();
           // if(socket2 != null) System.out.println("второй подключен");
            try { 
               /* план костыль
               делаем два потока для каждого подключения
               считываем с первого потока, передаем во временные переменные класса MainServer 
               далее во второй поток,передаем данные и их отсылаем по адресу потока.  
               принимаем новые данные
               */ 
               new ServerThread(socket);
               System.out.println("CONQ"); 
               ConQ++;
               System.out.println(ConQ);
            }
            catch (IOException e) {
               socket.close();
           //    socket2.close();
            }
         }
      }
      finally {
         s.close();
      }
   }
} // /:~

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.io.*;
import java.net.*;
// нужно как-то сделать так, чтобы сервер занимал один порт.
public class ServerThread extends Thread{
   private Socket socket;
   private Socket socket2;
   private BufferedReader in;
   private PrintWriter out;
   public ServerThread(Socket s) throws IOException {
       socket = s;
      in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
      out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket2
            .getOutputStream())), true);
      start();
   }
 
    ServerThread() {
        
    }
   
   public void run() {
      try {
         String str = in.readLine(); 
         System.out.println("Echoing: " + str);
         out.println(str);
         str = String.valueOf(ServerMain.ConQ);
         out.println(str);
         
             
         System.out.println("now startin cycle" );
         while (true){             
           str = in.readLine();
            if (str.equals("END"))
               break;
            System.out.println("Echoing: " + str);
            out.println(str);
         }
         System.out.println("closing...");
      }
      catch (IOException e) {
         System.err.println("IO Exception");
      }
      finally {
         try {
            socket.close();
         }
         catch (IOException e) {
            System.err.println("Socket not closed");
         }
      }
   }
   
   }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru