С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
#1

соединение UDP - Программирование Android

17.03.2013, 21:32. Просмотров 1763. Ответов 0
Метки нет (Все метки)

подскажите как протестировать UDP соединение. Возможно это сделать через ad hoc (tethering или наоборот)? как?

код написан в eclipse+sdk
main
Кликните здесь для просмотра всего текста
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
package com.asd.soed;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
 
public class MainActivity extends Activity {
    Button button;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=(Button) findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Thread thread=new Thread (new Client());
                thread.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.main, menu);
        return true;
    }
 
}


client:
Кликните здесь для просмотра всего текста

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
package com.asd.soed;
 
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
import android.util.Log;
 
public class Client implements Runnable {
Client()
{
    run();
}
    @Override
    public void run() {
    
        // TODO Auto-generated method stub
        Log.d("bla", "client thread started");
        //DatagramSocket clientSocket=null;
try{
    String messageStr="Hello Android!";
    int serverPort=9876;
    
    // sozdaetsja datagram socket klienta
    DatagramSocket clientSocket=new DatagramSocket();
    
    InetAddress IPAddress=InetAddress.getByName("89.198.4.10");
    
    int messageLength=messageStr.length();
    
    byte[] message =messageStr.getBytes();
    
    //sozdaetsja datagrama s informaciej dlja peresilki
    
    DatagramPacket clientPacket=new DatagramPacket(message,messageLength,IPAddress,serverPort);
    //peresilaetsja
    clientSocket.send(clientPacket);
    
    //mowno dobavitj clientSocket.closed
    
    //Log.d("UDP", "S: Receiving...");
} catch (Exception e){
    Log.e("client", "Error",e);
    
}
    }
 
}

server:
Кликните здесь для просмотра всего текста

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
package com.asd.soed;
 
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
import android.util.Log;
 
public class Server {
     public static void main(String args[]) throws Exception
        {
         
         //sozdaetsja datagrama, port 9876
                DatagramSocket serverSocket = new DatagramSocket(9876);
                byte[] receiveData = new byte[1024];
                byte[] sendData = new byte[1024];
                while(true)
                {
                    //sozdaetsja mesto dlja datagrami
                        DatagramPacket receivePacket = new     DatagramPacket(receiveData,receiveData.length);
                        //polu4aet datagramu
                        serverSocket.receive(receivePacket);
                       
                        String sentence = new String(receivePacket.getData(),0,receivePacket.getLength());
                        //polu4aet ip, port posilatelja
                        InetAddress IPAddress = receivePacket.getAddress();
                        int port = receivePacket.getPort();
                       // Log.d("nessage received", "bla");
                        System.out.println("MESSAGE RECEIVED  "+sentence+"  "+IPAddress+"         "+port);
               //mowno dobavitj serverSocket.closed 
                
                }
         }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос соединение UDP (Программирование Android):

Udp connection - Программирование Android
Здравствуйте! Нужна Ваша помощь. Есть прибор, к которому через протокол UDP подключается телефон и оправляет ему коннамды. ...

Не отправляется UDP пакет - Программирование Android
в потоке устанавливаю соединение с сервером: @Override protected Void doInBackground(Void... params) { if (this.MA == null) return...

Не работает UDP сервер - Программирование Android
Почему у меня вылетает приложение на ds.receive(dp);? В манифесте android.permission.INTERNET есть если что. public void...

Прием UDP пакетов - Программирование Android
Здравствуйте. Сразу скажу, никогда не имел дело с сокетами, тем более с UDP. Сервер у меня на python и с ним проблем никаких нет, клиент...

Отправка пакета (UDP) - Программирование Android
День добрый Как организовать передачу пакета (UDP) из любого участка кода? Имеется в виду отправка пакета из любой Активити. ...

Не доходят пакет UDP - Программирование Android
почему при передачи пакета от сервера к клиенту (используя udp) пакет (сообщение) он не получает. какой при этом ip получателя нужно...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 21:32
Привет! Вот еще темы с ответами:

Не приходит UDP сообщение - Программирование Android
Здравствуйте. В моем приложении потребовалась широковещательная отправка сообщений. Сообщения вроде как отправляются, но приложение...

Данные из принятого UDP пакета - Программирование Android
Как вытащить данные из принятого UDP пакета? Есть буфер, например на 100 байт. Принимаю к примеру 37 байт, о чем говорит pack.getLength() ....

Соединение с БД - Программирование Android
Не могу найти хорошей статьи про соединение приложения с БД (не локальной). Есть сайт, и хочу к нему запилить приложение, и вот нужно...

Соединение с БД - Программирование Android
Подаскажите пожалуйста, существует ли реляционная БД к которой можно нормально законнектить android устройство?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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