Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
letnjaja
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
1

соединение UDP

17.03.2013, 21:32. Просмотров 1839. Ответов 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 connection
Здравствуйте! Нужна Ваша помощь. Есть прибор, к которому через протокол UDP...

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

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

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

Не работает UDP сервер
Почему у меня вылетает приложение на ds.receive(dp);? В манифесте...

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

Не доходят пакет UDP
почему при передачи пакета от сервера к клиенту (используя udp) пакет...

Не отправляется UDP пакет
в потоке устанавливаю соединение с сервером: @Override protected Void...

Данные из принятого UDP пакета
Как вытащить данные из принятого UDP пакета? Есть буфер, например на 100 байт....


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

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

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