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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 120, средняя оценка - 4.97
artemkasablin
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 118
#1

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

29.11.2011, 08:45. Просмотров 15133. Ответов 20
Метки нет (Все метки)

Как работать с сокетами на Android? Есть литература на эту тему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 08:45     Socket
Посмотрите здесь:

Socket AndroiD - Программирование Android
В общем хочу написать сокет (TCP клиент) на андрюху. http://myandroidsolutions.blogspot.ru/2012/07/android-tcp-connection-tutorial.html ...

Не создается Socket - Программирование Android
есть сервер на c#, но не получается законнектиться на него с приложения на Andriod private static final String SERVER_IP = "127.0.0.1"; ...

Socket server over 3g - Программирование Android
Привет. Хотел программу написать, сервер сокет, но что то в сети 3g не работает. Через домашний роутер с wifi и проброс портов все...

Подключение через Socket - Программирование Android
Недавно начал изучать разработку под андроид и вот поставили задачу написать некий клиент, который должен коннектиЦа через сокет на...

И снова здравствуй Socket - Программирование Android
Недавнюю проблему с сокетами я решил. теперь возникла другая, суть ее в сл. вот кусочек кода подключения к сокету m_host =...

Socket Server, Client - Программирование Android
Доброго времени суток. Решил разобраться с сокетами. Но почему-то сообщения не приходят... Клиент: messsage = "Test"; client...

TCP Socket Client - Программирование Android
Всем доброго времени суток. Пытаюсь открыть сокет между Android Client и сервером под виндой (когда то написал на билде, использую в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
30.11.2011, 00:51     Socket #2
Цитата Сообщение от artemkasablin Посмотреть сообщение
Как работать с сокетами на Android? Есть литература на эту тему?
литература не знаю но в интернете информации куча. Что тебя интересует?
artemkasablin
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 118
30.11.2011, 03:00  [ТС]     Socket #3
Цитата Сообщение от flatgad Посмотреть сообщение
литература не знаю но в интернете информации куча. Что тебя интересует?
Мне нужно написать чат. Сервер на Delphi будет, точнее уже сделан. А клиент под Android.
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
30.11.2011, 03:26     Socket #4
Цитата Сообщение от artemkasablin Посмотреть сообщение
Мне нужно написать чат. Сервер на Delphi будет, точнее уже сделан. А клиент под Android.
хех я неделю назад таким занимался
artemkasablin
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 118
30.11.2011, 15:06  [ТС]     Socket #5
Цитата Сообщение от flatgad Посмотреть сообщение
хех я неделю назад таким занимался
Помогите тогда пожалуйста с этим...
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
30.11.2011, 19:22     Socket #6
Цитата Сообщение от artemkasablin Посмотреть сообщение
Помогите тогда пожалуйста с этим...
Делал передачу через UDP на делфи программку думаю напишешь а вот для андроида. Предупреждаю код може с первого разу не запустится тогда смотреть ошибки и ещё одно я так и не научился передавать на виртуальную машину пришлось тестить на реальном устройстве подключенным по вайфай к компьютеру или роутеру. И по поводу портов вроде у андроида свободные порты свыше 5000 я уже не помню какой я задавал тут тоже могут возникнуть проблемы. И вот держи проект может чем поможет UDP.rar. Вроде все если что пиши.

AndroidManifest не забываем :

XML
1
2
3
4
    <uses-permission android:name="android.permission.INTERNET">  
    </uses-permission>  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE">  
    </uses-permission>
Сам код java :
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
public void onCreate(Bundle  savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        new Thread(new server()).start();
        try {
            Thread.sleep(500);
        }catch (InterruptedException e){}
    }
 
 
public void send_btn(View v){
    try
    {
        InetAddress serv_addr= '192.168.0.1';
        int port= 1245;
        DatagramSocket sock = new DatagramSocket();
        byte [] buf = ("c: Hello from android").getBytes();
        DatagramPacket pack= new DatagramPacket(buf, buf.length,serv_addr,port);
        sock.send(pack);
        sock.close();
        for (int i=0; i<buf.length;i++) buf[i]=0;
    }
    catch (Exception e){
        Log.d("UDP", "Error: "+e);
    }
    }
 
 
public class server implements Runnable{
        @Override
        public void run () {
            try{
                WifiManager wifiManager=(WifiManager)getSystemService(WIFI_SERVICE);
                WifiInfo wifiinfo= wifiManager.getConnectionInfo();
                int ip_adress=wifiinfo.getIpAddress();
                String newip= String.format("%d.%d.%d.%d", (ip_adress & 0xff),
                        (ip_adress>>8 & 0xff),
                        (ip_adress>>16 & 0xff),
                        (ip_adress>>24 & 0xff));
                int port=1254;//Не помню но вроде как должно быть выше 5000 
                ip_s.setText(newip);
                port_s.setText(Integer.toString(port));
                mess.append("Set port: "+Integer.toString(port)+"\n");
                InetAddress serv_address = InetAddress.getByName(newip);
                DatagramSocket serversocket = new DatagramSocket(port,serv_address);
                mess.append("Create socket \n");
                byte [] buf = new byte[17];     
                while(true) {
                    DatagramPacket packet= new DatagramPacket(buf, buf.length);
                    serversocket.receive(packet);
                    result_mess=new String(packet.getData(),0,packet.getData().length);
                    mess.post(new Runnable() {
                        @Override
                        public void run() {
                            mess.append("Create datagramPacket \n");
                            mess.append("Wait for packet ....\n");
                            mess.append(result_mess);
                        }
                    });
                    for (int i=0;i<buf.length;i++) buf[i]=0;
                }
                }
            catch (Exception e){
                mess.append("Error: "+e);
            }
        }
    }
}
artemkasablin
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 118
01.12.2011, 05:12  [ТС]     Socket #7
Цитата Сообщение от flatgad Посмотреть сообщение
Делал передачу через UDP на делфи программку думаю напишешь а вот для андроида. Предупреждаю код може с первого разу не запустится тогда смотреть ошибки и ещё одно я так и не научился передавать на виртуальную машину пришлось тестить на реальном устройстве подключенным по вайфай к компьютеру или роутеру. И по поводу портов вроде у андроида свободные порты свыше 5000 я уже не помню какой я задавал тут тоже могут возникнуть проблемы. И вот держи проект может чем поможет Вложение 110265. Вроде все если что пиши.

AndroidManifest не забываем :

XML
1
2
3
4
    <uses-permission android:name="android.permission.INTERNET">  
    </uses-permission>  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE">  
    </uses-permission>
Сам код java :
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
public void onCreate(Bundle  savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        new Thread(new server()).start();
        try {
            Thread.sleep(500);
        }catch (InterruptedException e){}
    }
 
 
public void send_btn(View v){
    try
    {
        InetAddress serv_addr= '192.168.0.1';
        int port= 1245;
        DatagramSocket sock = new DatagramSocket();
        byte [] buf = ("c: Hello from android").getBytes();
        DatagramPacket pack= new DatagramPacket(buf, buf.length,serv_addr,port);
        sock.send(pack);
        sock.close();
        for (int i=0; i<buf.length;i++) buf[i]=0;
    }
    catch (Exception e){
        Log.d("UDP", "Error: "+e);
    }
    }
 
 
public class server implements Runnable{
        @Override
        public void run () {
            try{
                WifiManager wifiManager=(WifiManager)getSystemService(WIFI_SERVICE);
                WifiInfo wifiinfo= wifiManager.getConnectionInfo();
                int ip_adress=wifiinfo.getIpAddress();
                String newip= String.format("%d.%d.%d.%d", (ip_adress & 0xff),
                        (ip_adress>>8 & 0xff),
                        (ip_adress>>16 & 0xff),
                        (ip_adress>>24 & 0xff));
                int port=1254;//Не помню но вроде как должно быть выше 5000 
                ip_s.setText(newip);
                port_s.setText(Integer.toString(port));
                mess.append("Set port: "+Integer.toString(port)+"\n");
                InetAddress serv_address = InetAddress.getByName(newip);
                DatagramSocket serversocket = new DatagramSocket(port,serv_address);
                mess.append("Create socket \n");
                byte [] buf = new byte[17];     
                while(true) {
                    DatagramPacket packet= new DatagramPacket(buf, buf.length);
                    serversocket.receive(packet);
                    result_mess=new String(packet.getData(),0,packet.getData().length);
                    mess.post(new Runnable() {
                        @Override
                        public void run() {
                            mess.append("Create datagramPacket \n");
                            mess.append("Wait for packet ....\n");
                            mess.append(result_mess);
                        }
                    });
                    for (int i=0;i<buf.length;i++) buf[i]=0;
                }
                }
            catch (Exception e){
                mess.append("Error: "+e);
            }
        }
    }
}
Почему с виртуальной машине на сервер delphi отправляется не сообщение а прописанное "Привет с андроида" пробовал поменять на (EditText)findViewById(R.id.editText3) не получилось почему то.
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
01.12.2011, 12:09     Socket #8
Цитата Сообщение от artemkasablin Посмотреть сообщение
Почему с виртуальной машине на сервер delphi отправляется не сообщение а прописанное "Привет с андроида" пробовал поменять на (EditText)findViewById(R.id.editText3) не получилось почему то.
код покажи! должно отправляться .
artemkasablin
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 118
01.12.2011, 17:00  [ТС]     Socket #9
Цитата Сообщение от flatgad Посмотреть сообщение
код покажи! должно отправляться .
да я пока что ваш проект изучаю
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
01.12.2011, 17:11     Socket #10
Цитата Сообщение от artemkasablin Посмотреть сообщение
да я пока что ваш проект изучаю
Java
1
2
3
4
5
6
7
8
edit1=(EditText)findViewById(R.id.editText3)
....
String mess=edit1.gettext();
DatagramSocket sock = new DatagramSocket();
byte [] buf = (mess).getBytes();
DatagramPacket pack= new DatagramPacket(buf, buf.length,serv_addr,port);
sock.send(pack);
sock.close();
Должно отправить полюбому
artemkasablin
2 / 2 / 0
Регистрация: 02.02.2010
Сообщений: 118
03.12.2011, 12:39  [ТС]     Socket #11
Цитата Сообщение от flatgad Посмотреть сообщение
Java
1
2
3
4
5
6
7
8
edit1=(EditText)findViewById(R.id.editText3)
....
String mess=edit1.gettext();
DatagramSocket sock = new DatagramSocket();
byte [] buf = (mess).getBytes();
DatagramPacket pack= new DatagramPacket(buf, buf.length,serv_addr,port);
sock.send(pack);
sock.close();
Должно отправить полюбому
вот когда вместо mess написано "******" тогда отправляет эту строку, обрезая первый симовол.
oleg00gop
Сообщений: n/a
23.04.2012, 21:18     Socket #12
Все работало до перехода на софт 4.0.3.

Что не делаю по команде send всегда выдает android.os.NetworkOnMainThreadException.

Кто знает как бароться подскажите плиз!!!!
Maksim_M
Сообщений: n/a
11.09.2012, 18:37     Socket #13
Не могли бы вы выложить исходник. Очень буду благодарен
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.09.2012, 18:55     Socket #14
http://developer.android.com/referen...Exception.html

The exception that is thrown when an application attempts to perform a networking operation on its main thread.

This is only thrown for applications targeting the Honeycomb SDK or higher. Applications targeting earlier SDK versions are allowed to do networking on their main event loop threads, but it's heavily discouraged.
evgenys
Сообщений: n/a
05.07.2013, 02:58     Socket #15
спасибо за ваш пример UDP всё работает, но возникло несколько глупых вопросов Android только начал учить

1. если экран потухнет или если апу запустить заново сокет для прослушивания заново не откроется так как занят порт, как закрыть сокет (убить объект server)? думается это должно происходить по событию activity в методе onDestroy() но как написать не понимаю

2. будет ли работать такая прога с сервером в интернете (в двух направлениях), я написал серверную часть на php и в локальной сети между адресами 192.168.1.1 и 192.168.1.3 всё круто работает, но в инет конектица она не захотела хотя хостер вроде разрешает сокеты, может нужен выделеный сервер но у меня его нет.

3. может есть у кого рабочий пример для сокетов по TCP?
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
05.07.2013, 10:25     Socket #16
Цитата Сообщение от evgenys Посмотреть сообщение
спасибо за ваш пример UDP всё работает, но возникло несколько глупых вопросов Android только начал учить

1. если экран потухнет или если апу запустить заново сокет для прослушивания заново не откроется так как занят порт, как закрыть сокет (убить объект server)? думается это должно происходить по событию activity в методе onDestroy() но как написать не понимаю

2. будет ли работать такая прога с сервером в интернете (в двух направлениях), я написал серверную часть на php и в локальной сети между адресами 192.168.1.1 и 192.168.1.3 всё круто работает, но в инет конектица она не захотела хотя хостер вроде разрешает сокеты, может нужен выделеный сервер но у меня его нет.

3. может есть у кого рабочий пример для сокетов по TCP?
1. Нужно в главной активити на событие Ondestroy сделать sock.close(); и соответственно завершить поток приема данных.

2. Будет почему нет. Но одно но у сервера должен быть статический ай-пи. Но для работы в интернете я бы посоветовал TCP. Смотря какие цели конечные.

3. По TCP работа такая же как и для UDP только использовать нужно Serversocket - для сервера и Socket для клиента.

Вот мои исходники над которыми сейчас работаю но это ява но на андроиде должно тоже работать :

класс сервера : (получаю набор байтов но их можно и в string перевести в зависимости что тебе надо)

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

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
import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
 
public class IPAServer {
 
    private class ClientThread extends Thread {
 
        public ClientThread() {
        }
 
        @Override
        public void run() {
            try {
                mySocket = serverSocket.accept();
                while (!stop_server) {
                    InputStream is = mySocket.getInputStream();
                    int r = is.available();//тут у меня проблема так как для сокетов нельзя использовать available сейчас 
//борюсь как можно поправить. Моя проблема в том что я не знаю сколько байт принимаю от клиента. Если у тя свой ///протокол то можно все упростить если тебе интересно.
                    if (r != 0) {
                        MainFrame.StartIPACleint();
                        byte[] buf =new byte[r];
                        mySocket.getInputStream().read(buf);
                        IPAClient.SendByteToClient(buf);
                        MainFrame.SetTextLog("[S]IPA [" + String.valueOf(port)
                                + "] : " + bytesToHex(buf) + "\n");
                    }
                }
            } catch (IOException ex) {
                System.out.println(ex);
            }
        }
    }
    private int port;
    private ServerSocket serverSocket;
    private boolean stop_server = false;
    private ClientThread clientthread;
    private static Socket mySocket;
    final protected static char[] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
 
    public IPAServer(int _port, String _ipadress) {
        try {
            this.port = _port;
            this.serverSocket = new ServerSocket(port, 0, InetAddress.getByName(_ipadress));
            clientthread = new ClientThread();
            clientthread.start();
        } catch (IOException ex) {
            System.out.println(ex);
        }
    }
 
    public void SendDataFromServer(String _data) {
        try {
            OutputStream os = mySocket.getOutputStream();
            os.write(_data.getBytes());
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
 
    public static void SendByteToServer(byte _buf[]) {
        OutputStream os;
        try {
            if (mySocket != null) {
                os = mySocket.getOutputStream();
                os.write(_buf);
            }
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
 
    public String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        int v;
        for (int j = 0; j < bytes.length; j++) {
            v = bytes[j] & 0xFF;
            hexChars[j * 2] = hexArray[v >>> 4];
            hexChars[j * 2 + 1] = hexArray[v & 0x0F];
        }
        return new String(hexChars);
    }
}


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

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
89
90
91
import java.io.*;
import java.net.Socket;
 
public class IPAClient {
 
    private class DataListener extends Thread {
 
        public DataListener() {
        }
 
        public void run() {
            try {
                clSocket = new Socket(IPadress, port);
                while (!stoprun) {
                    InputStream is = clSocket.getInputStream();
                    int r = is.available();//Тут тоже available не канает. 
                    if (r > 0) {
                        byte[] buf = new byte[r];
                        clSocket.getInputStream().read(buf);
                        if (!OMLClient.getSock()) {
                            buf = ConvertByteBuffer(buf);
                        }
                        IPAServer.SendByteToServer(buf);
//Вывод сообщения в текстовое поле у андроида такого неу :) 
                        MainFrame.SetTextLog("[C]IPA [" + String.valueOf(port) + "] : " + bytesToHex(buf) + "\n");
                    }
                }
            } catch (Exception ex) {
                System.out.println(ex);
            }
        }
    }
    private int port;
    private String IPadress;
    private static Socket clSocket = null;
    private DataListener datalistener;
    public boolean stoprun = false;
    final protected static char[] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
 
    public IPAClient(int _port, String _ipadress) {
        this.port = _port;
        this.IPadress = _ipadress;
        datalistener = new DataListener();
        datalistener.start();
    }
 
    public static boolean getSock() {
        if (clSocket != null) {
            return true;
        }
        return false;
    }
 
    public static void SendByteToClient(byte _buf[]) {
        OutputStream os;
        try {
            if (clSocket != null) {
                os = clSocket.getOutputStream();
                os.write(_buf);
            }
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
 
    public String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        int v;
        for (int j = 0; j < bytes.length; j++) {
            v = bytes[j] & 0xFF;
            hexChars[j * 2] = hexArray[v >>> 4];
            hexChars[j * 2 + 1] = hexArray[v & 0x0F];
        }
        return new String(hexChars);
    }
 
    private byte[] ConvertByteBuffer(byte[] buff) {
        for (int i = 0; i < buff.length; i++) {
            if ((buff[i] == (byte) 0x0B) && (buff[i + 1] == (byte) 0xBB)) {
                buff[i] = (byte) 0x0F;
                buff[i + 1] = (byte) 0xA3;
                break;
            }
        }
        return buff;
    }
 
    public void StopClient() {
        stoprun = false;
    }
}


Вроде все если есть вопросы задавай будем разбираться я как раз занимаюсь сейчас TCP сокетами. Но классы это не конечный вариант это просто пока каркас
rambayke
2 / 2 / 0
Регистрация: 31.07.2012
Сообщений: 71
04.09.2013, 05:30     Socket #17
flatgad, а если передача через TCP, где на что менять? у меня сервер написан на С++, использует TCP
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
04.09.2013, 11:15     Socket #18
rambayke, прочитай мой ответ здесь
flatgad
geJI<|>eP
186 / 186 / 1
Регистрация: 22.07.2010
Сообщений: 733
04.09.2013, 11:49     Socket #19
тут есть прикол я потом уже сам разобрался available нельзя использовать для сокетов так как данная функция вызывает бесконечный цикл прослушивания и программа уходит в зависняк. Необходимо принимать количество байт указанное в пакете. То есть в протоколе TCP передавать размер пакета а иначе никак сам долго боролся с этим. Вообщем танцы с бубнами
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2013, 12:24     Socket
Еще ссылки по теме:

Сеть через Socket - Программирование Android
Есть программа (клиент), которая должна подключить к серверу, а он передаст ip других серверов и вообщем нужно иметь несколько подключений...

Socket догрузка файла - Программирование Android
java.lang.ArrayIndexOutOfBoundsException: length=1024; regionStart=20000; regionLength=1024 //f_s - сколько было закачено байт ...

Задать IP для Socket - Программирование Android
Добрый день подскажите как реализовать возможность ввода IP адреса для открытия Socketa. Планируется простой TCP клиент. Main активитии...

Не подключается к серверу через Socket - Программирование Android
Привет. Подключаюсь к серверу так: try { ShowMessage(&quot;try&quot;); //InetAddress ipAddress = InetAddress.getByName(HOST); //...

Socket не видит отключения сети - Программирование Android
Добрый день! есть маленькая но уже доставшая проблема. Сокет не видит когда происходит откл Wi-Fi. по шагам. 1.Создаю сокет 2....


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

Или воспользуйтесь поиском по форуму:
sirik2012
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 45
04.09.2013, 12:24     Socket #20
Я когда-то делал клиент-серверное приложение под Окна на VB6. Самое сложное было это организовать работу сервера. Я делал так: сервер всегда слушал определенный порт (например 9999, важно чтобы порт выше 1024) через компонент winsock.
В случае запроса клиента на подключение, программа (сервер) создавал экземпляр класса winsok'а на рандомный локальный порт сервера (в настройках просто указывал порт 0) и "общался" с клиентом этим winsock'ом.
Трудность в том, что у меня сервер был на нормальной машине и держал соединения с выше 100 клиентов. Не знаю или справится с такой нагрузкой смартфон.

ps/ сейчас же пишу подобный проект, только в роли сервера будет выступать ноутбук (Windows 7 x64), клиенты смартфоны (Android > 4.0), вся связь будет осуществляться только по udp
Yandex
Объявления
04.09.2013, 12:24     Socket
Ответ Создать тему
Опции темы

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