Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.07.2016
Сообщений: 2

Отправить сообщение от java сервера к websocket клиенту на javascript

06.03.2017, 17:57. Показов 2059. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! У меня проблема, уже два дня копаюсь, но так и не решил. Есть сервер на джаве, и есть клиент на скрипте. Проблема в том, что у меня не получается оправить сообщение от сервера к клиенту, хотя когда я отправляю ответные данные для соединения клиенту при подключении - все работает(соединение есть), а далее не могу ничего отправить.

Собсна сам сервер:
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
public class Main {
    static List<Client> clients = new ArrayList<Client>();
    public static void main (String[] args) throws Exception {
 
        ServerSocket server = new ServerSocket(1340);
 
        while (true) {
            final Socket client = server.accept();
            Client s = new Client(client);
            clients.add(s);
            getConnect(clients.get(clients.indexOf(s)));
 
            for (Client c:clients
                 ) {
                c.sendMassege("YOU LALKA!!!");//уже не работает
            }
        }
    }
    static void getConnect(Client client) throws Exception {
        String data = new Scanner(client.in,"UTF-8").useDelimiter("\\r\\n\\r\\n").next();
 
        Matcher get = Pattern.compile("^GET").matcher(data);
        if (get.find())
        {
            Matcher match = Pattern.compile("Sec-WebSocket-Key: (.*)").matcher(data);
            match.find();
            String response = ("HTTP/1.1 101 Switching Protocols\r\n"
                    + "Connection: Upgrade\r\n"
                    + "Upgrade: websocket\r\n"
                    + "Sec-WebSocket-Accept: "
                    + DatatypeConverter
                    .printBase64Binary(
                            MessageDigest
                                    .getInstance("SHA-1")
                                    .digest((match.group(1) + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11")
                                            .getBytes()))
                    )
                    ;
 
            client.sendMassege(response);
        }
    }
}
class Client {
    protected Socket client;
    protected InputStream in;
    protected OutputStream out;
    public Client(Socket client) throws Exception
    {
        this.client = client;
        this.in =  client.getInputStream();
        this.out = client.getOutputStream();
    }
    protected void sendMassege(String k) throws Exception
    {
        if (k != null & k.length() > 0) {
            out.write((k+ "\r\n\r\n").getBytes(),0,(k+ "\r\n\r\n").length());
            out.flush();
        }
    }
}
И простейший клиент:
JSON
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
function connectToServerOne(){
 var socket = new WebSocket("ws://localhost:500/");
socket.onopen = function() {
  alert("Соединение установлено.");
};
 
socket.onclose = function(event) {
  if (event.wasClean) {
    alert('Соединение закрыто чисто');
  } else {
    alert('Обрыв соединения'); // например, "убит" процесс сервера
  }
  alert('Код: ' + event.code + ' причина: ' + event.reason);
};
 
socket.onmessage = function(event) {
 alert(event.data);
if(event.data == "YOU LALKA!!!")
{
socket.Send("NO YOU LALKAQ!");
}
};
 
socket.onerror = function(error) {
  alert("Ошибка " + error.message);
};
}
ПАМАГИТИ!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2017, 17:57
Ответы с готовыми решениями:

Как отправить сообщение от сервера клиенту по UDP?
Отправляю сообщения от клиента к серверу, но не могу понять как отправить от сервера клиенту обратно. Что нужно добавить в программу? ...

Как отправить по почте пароль (какое-нибудь сообщение), сгенерированный на сервере, с сервера к клиенту с пощощью ASP ?
Как отправить по почте пароль (какое-нибудь сообщение), сгенерированный на сервере, с сервера к клиенту с пощощью ASP ?

IdHTTP и IdHTTP сервер: как отправить сообщение от сервера к клиенту?
Всем привет, отправляю файл по частям с клиента на сервер, и хочу получать обратное сообщение, что текущая часть файла дошла успешно....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2017, 17:57
Помогаю со студенческими работами здесь

Отправить запрос с сервера клиенту
Здравствуйте. У меня возникла проблема. Нужно отправить запрос с сервера/сайта в программу и использовать материал, переданный с...

Как отправить ответ клиенту с сервера TCP?
Посмотрите пожалуйста эти Клиент и Сервер. Я отправляю команду серверу с просьбой отправить данному клиенту файл, но как передать экземпляр...

Как отправить ответ сервера клиенту? Servlet Tomcat
Посылаю запрос серверу, передаю строку String url = &quot;http://192.168.0.5:8888&quot;; DefaultHttpClient hc = new...

Как отправить byte[] с сервера клиенту через socket
Как отправить byte с сервера клиенту через socket? Я могу отправить с клиента на сервер вот так. Клиент: string ipadr =...

Клиент-серверное приложение, нужно отправить запрос с сервера клиенту
Суть задачи такова: нужно с сервер-приложения отправить клиент приложению сигнал. При получении которого в клиент приложении...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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