Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/86: Рейтинг темы: голосов - 86, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 4

client/server для android phone <-> pc на java

08.05.2012, 12:48. Показов 16793. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал клиент/сервер на java для передачи сообщений из телефона в комп. Клиент на телефон samsung galaxy fit gt-s5670 с Android 2.2.1, сервер на компютере. Передача данный осуществляется с помощью soket -ов. В симуляторе в Eclipse работает а из телефона нет. сервер ждет а полученных данных нет с клиента.Порт в обоих частях указан один и тот же. В чем может быть проблема. Может маска подсети в ip ....????ip телефона и ip компа из разных сетей.Вот листинги клиента и сервера

клиент
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.pcToDroid;
 
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
import android.app.Activity;
import android.os.Bundle;
 
public class ClientActivity extends Activity 
{
    EditText textOut;
    TextView textIn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        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()
    {
   //@Override
    public void onClick(View arg0)
    {
     // TODO Auto-generated method stub
     Socket socket = null;
     DataOutputStream dataOutputStream = null;
     DataInputStream dataInputStream = null;
 
     try {
      socket = new Socket("46.241.185.36", 8888);
      dataOutputStream = new DataOutputStream(socket.getOutputStream());
      dataInputStream = new DataInputStream(socket.getInputStream());
      dataOutputStream.writeUTF(textOut.getText().toString());
      textIn.setText(dataInputStream.readUTF());
     } catch (UnknownHostException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
     finally{
      if (socket != null){
       try {
        socket.close();
       } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      }
 
      if (dataOutputStream != null){
       try {
        dataOutputStream.close();
       } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      }
 
      if (dataInputStream != null){
       try {
        dataInputStream.close();
       } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      }
     }
    }};
    }
сервер
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
68
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
 
 
public class MyServer {
 
 public static void main(String[] args){
  ServerSocket serverSocket = null;
  Socket socket = null;
  DataInputStream dataInputStream = null;
  DataOutputStream dataOutputStream = null;
  
  try {
   serverSocket = new ServerSocket(8888);
   System.out.println("Listening :8888");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  while(true){
   try {
   System.out.println("mtav ... !");
    socket = serverSocket.accept();
    System.out.println("socket" + socket);
    dataInputStream = new DataInputStream(socket.getInputStream());
    dataOutputStream = new DataOutputStream(socket.getOutputStream());
    System.out.println("ip: " + socket.getInetAddress());
    System.out.println("message: " + dataInputStream.readUTF());
    dataOutputStream.writeUTF("Hello!");
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   finally{
    if( socket!= null){
     try {
      socket.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
    
    if( dataInputStream!= null){
     try {
      dataInputStream.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
    
    if( dataOutputStream!= null){
     try {
      dataOutputStream.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   }
  }
 }
}
[/S]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2012, 12:48
Ответы с готовыми решениями:

Java sqlite android and jdbc multithreading client server
Всем здравствуйте! Пишу клиент-серверное приложение на Java с использованием socket`ов и разбираюсь с sqlite базой данных. Я хочу...

Socket Android Client and Java Socket Server
Доброго времени суток.Пытаюсь сделать простое клиент-серверное приложение. Клиент - приложение на Android устройстве. Сервер - Приложение...

Android client <-Wi FI-> PC server
Всем привет. Очень хочу реализовать такую штуку. Значит надо отправлять хотяб 1 байт с андроида на пк через WI Fi На ПК вполне знаком...

10
 Аватар для flashok
97 / 96 / 4
Регистрация: 14.02.2009
Сообщений: 311
08.05.2012, 13:25
тема довольно таки интересная
а с помощьючего телефон смотрит в интернет wi-fi или сам ???

впринципе от Google есть сервис
вот пример http://habrahabr.ru/post/116106/
с помощью него достаточно удобно работать с телефоном
0
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 4
08.05.2012, 14:48  [ТС]
Tелефон в сеть смотрит через 3g из самого себя
0
Android Programmer
141 / 142 / 10
Регистрация: 08.12.2010
Сообщений: 421
08.05.2012, 21:12
Цитата Сообщение от flashok Посмотреть сообщение
тема довольно таки интересная
а с помощьючего телефон смотрит в интернет wi-fi или сам ???

впринципе от Google есть сервис
вот пример http://habrahabr.ru/post/116106/
с помощью него достаточно удобно работать с телефоном
c2dm не панацея.
если нужен обмен в реальном времени, сокеты, куда лучше будут. ибо с2dm при определенных фазах звезд, может прислать вам сообщение и через сутки.

Добавлено через 1 минуту
Цитата Сообщение от k-mezon Посмотреть сообщение
Tелефон в сеть смотрит через 3g из самого себя
вы уверены, что у вас как говорится "выделеный айпишник" на пк (сервере)?

Добавлено через 17 минут
видимо у вас не выделенный ip, или если таки выделенный, то юзается роутер и не проброшены порты.
ибо по коду все нормально, затестил на своей.машине и девайсах, все нормально подключаются и сообщения доходят.
1
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 4
08.05.2012, 23:12  [ТС]
Заработало. Так и не понял в чем было конкретно проблема... Bидимо в bin папке старая .аpk не обновлялся. IP у меня динамическая, но для теста кода этого хватит думаю, потом напишу скрипт на php и залью на хостинг.Этот скрипт должен запросить ip компа на котором стоит сервер и сохранить в файле хостингa, а клиент возмет этот ip уже из файла хостинга. Какие советы и возражения ?

Добавлено через 4 минуты
Роутера нет. Инет у меня через 3g модем флешкой. Про портов не совсем понял что значит порты не проброшены ...

Добавлено через 1 минуту
Цитата Сообщение от silentnuke Посмотреть сообщение
то юзается роутер и не проброшены порты.
Роутера нет. Инет у меня через 3g модем флешкой. Про портов не совсем понял что значит порты не проброшены ...
0
4 / 4 / 0
Регистрация: 06.04.2012
Сообщений: 20
12.05.2012, 07:54
Цитата Сообщение от k-mezon Посмотреть сообщение
Этот скрипт должен запросить ip компа на котором стоит сервер и сохранить в файле хостингa, а клиент возмет этот ip уже из файла хостинга. Какие советы и возражения ?
Попробуйте использовать dyndns.org и php скрипт не придется писать
1
0 / 0 / 0
Регистрация: 22.06.2011
Сообщений: 16
13.05.2012, 23:39
k-mezon, с вами можно связаться по icq ? у меня именно такая же проблема.

мне нужно отсылать с клиента 3 float переменные каждый 100 мс.

спасибо заранее!!!!!!!!!!
0
supersancho3000
20.06.2012, 21:52
k-mezon, не мог бы ты выложить в архиве полный проект, вместе с main.xml, манифестом и так далее. Спасибо
0 / 0 / 0
Регистрация: 22.06.2011
Сообщений: 16
21.06.2012, 17:08
Привет а в чем конкретно возникают проблемы ? что именно у вас не получаеться ?

Добавлено через 4 часа 7 минут
у меня всё работает нормально..
0
supersancho3000
21.06.2012, 23:49
swoi2003, вроде заработало уже
Maksim_M
12.09.2012, 14:52
НЕ мог бы ты выложить исходник. буду благодарен.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2012, 14:52
Помогаю со студенческими работами здесь

Android, client-server
Здравствуйте, раньше писал, что делаю приложение на диплом, что-то похожие на google maps, сейчас возник вопрос об авторизацие. ...

Client(android) - Server (PC)
Здравствуйте. Помогите мне создать клиент-сервер приложение. Примерное описание приложения: хочу через телефон добавить запись на БД...

Client(android) - Server (PC) - Delphi
Здравствуйте. Подскажите как можно реализовать Client(android) - Server (PC) - Delphi , требуется отправить сообщение с телефона и...

Client(Android) - Server(Delphi)
Необходимо чтобы клиент на Android передавал данные на сервер ПК. Проблема в том что вместо текста в поле memo пишется всегда...

Client-server на java
Решил написать простейший сервер.Вот код:(это клиент)! package educ.mark; import java.awt.FlowLayout; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru