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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 99, средняя оценка - 4.93
k-mezon
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 4
#1

client/server для android phone <-> pc на java - Программирование Android

08.05.2012, 12:48. Просмотров 12618. Ответов 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]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 12:48     client/server для android phone <-> pc на java
Посмотрите здесь:
Socket Android Client and Java Socket Server Android
Android client <-Wi FI-> PC server Android
Android Android, client-server
HTTP Client для Android Android
Java для Android Android
Знания Java для Android Android
Android Программы для Android НЕ на Java
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
08.05.2012, 13:25     client/server для android phone <-> pc на java #2
тема довольно таки интересная
а с помощьючего телефон смотрит в интернет wi-fi или сам ???

впринципе от Google есть сервис
вот пример http://habrahabr.ru/post/116106/
с помощью него достаточно удобно работать с телефоном
k-mezon
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 4
08.05.2012, 14:48  [ТС]     client/server для android phone <-> pc на java #3
Tелефон в сеть смотрит через 3g из самого себя
silentnuke
Android Programmer
138 / 139 / 5
Регистрация: 08.12.2010
Сообщений: 421
08.05.2012, 21:12     client/server для android phone <-> pc на java #4
Цитата Сообщение от flashok Посмотреть сообщение
тема довольно таки интересная
а с помощьючего телефон смотрит в интернет wi-fi или сам ???

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

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

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

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

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

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

спасибо заранее!!!!!!!!!!
supersancho3000
Сообщений: n/a
20.06.2012, 21:52     client/server для android phone <-> pc на java #8
k-mezon, не мог бы ты выложить в архиве полный проект, вместе с main.xml, манифестом и так далее. Спасибо
swoi2003
0 / 0 / 0
Регистрация: 22.06.2011
Сообщений: 16
21.06.2012, 17:08     client/server для android phone <-> pc на java #9
Привет а в чем конкретно возникают проблемы ? что именно у вас не получаеться ?

Добавлено через 4 часа 7 минут
у меня всё работает нормально..
supersancho3000
Сообщений: n/a
21.06.2012, 23:49     client/server для android phone <-> pc на java #10
swoi2003, вроде заработало уже
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2012, 14:52     client/server для android phone <-> pc на java
Еще ссылки по теме:
Mjpeg на java для android Android
Android Socket Server, Client
Android Знания java для написания приложений Android
Куда делся Eclipse для разработки под Android на java, xml Android
Android Server->Client Обновление БД длинной строкой. Приходит не все отосланное

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

Или воспользуйтесь поиском по форуму:
Maksim_M
Сообщений: n/a
12.09.2012, 14:52     client/server для android phone <-> pc на java #11
НЕ мог бы ты выложить исходник. буду благодарен.
Yandex
Объявления
12.09.2012, 14:52     client/server для android phone <-> pc на java
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru