IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Utilisation de WebSocket


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Utilisation de WebSocket
    Bonjour à tous,

    Je viens ici après plusieurs recherches infructueuses. En effet j'utilise un WebSocket pour interroger mon serveur TCP qui n'est pas sécurisé avec un certificat SSL. Ce WebSocket est donc en WS et pas WSS mais mon serveur de développement est en HTTPS, je ne peux donc pas communiquer avec le serveur (voir erreur). J'ai vu sur Stack Overflow qu'il était impossible d’accéder à un WebSocket non sécurisé depuis une page web sécurisée. Ma question est donc la suivante, puis-je faire quelque chose pour forcer la connexion entre les deux malgré les problèmes de sécurité ? Existe-t-il une autre technologie que les WebSockets que je pourrais utiliser pour communiquer avec mon serveur TCP ? (Mon serveur TCP est pour l'instant un simple serveur qui prend ce qu'il reçoit et le renvoi)

    Merci par avance !

    Nom : 2020-05-15 11_37_10-#salle-de-reunion - Discord_censored.jpg
Affichages : 99
Taille : 31,8 Ko

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    <!DOCTYPE html>
    <html lang = "en">
     
       <head>
          <meta charset = utf-8>
          <title>HTML5 Chat</title>
     
          <body>
     
             <section id = "wrapper">
     
                <header>
                   <h1>HTML5 Chat</h1>
                </header>
     
                <style>
                   #chat { width: 97%; }
                   .message { font-weight: bold; }
                   .message:before { content: ' '; color: #bbb; font-size: 14px; }
                                            
                   #log {
                      overflow: auto;
                      max-height: 300px;
                      list-style: none;
                      padding: 0;
                   }
                                            
                   #log li {
                      border-top: 1px solid #ccc;
                      margin: 0;
                      padding: 10px 0;
                   }
                                            
                   body {
                      font: normal 16px/20px "Helvetica Neue", Helvetica, sans-serif;
                      background: rgb(237, 237, 236);
                      margin: 0;
                      margin-top: 40px;
                      padding: 0;
                   }
                                            
                   section, header {
                      display: block;
                   }
                                            
                   #wrapper {
                      width: 600px;
                      margin: 0 auto;
                      background: #fff;
                      border-radius: 10px;
                      border-top: 1px solid #fff;
                      padding-bottom: 16px;
                   }
                                            
                   h1 {
                      padding-top: 10px;
                   }
                                            
                   h2 {
                      font-size: 100%;
                      font-style: italic;
                   }
                                            
                   header, article > * {
                      margin: 20px;
                   }
                                            
                   #status {
                      padding: 5px;
                      color: #fff;
                      background: #ccc;
                   }
                                            
                   #status.fail {
                      background: #c00;
                   }
                                            
                   #status.success {
                      background: #0c0;
                   }
                                            
                   #status.offline {
                      background: #c00;
                   }
                                            
                   #status.online {
                      background: #0c0;
                   }
                                            
                   #html5badge {
                      margin-left: -30px;
                      border: 0;
                   }
                                            
                   #html5badge img {
                      border: 0;
                   }
                </style>
     
                <article>
     
                   <form onsubmit = "addMessage(); return false;">
                      <input type = "text" id = "chat" placeholder = "type and press enter to chat" />
                   </form>
     
                   <p id = "status">Not connected</p>
                   <p>Users connected: <span id = "connected">0
                      </span></p>
                   <ul id = "log"></ul>
     
                </article>
     
                <script>
                   connected = document.getElementById("connected");
                   log = document.getElementById("log");
                   chat = document.getElementById("chat");
                   form = chat.form;
                   state = document.getElementById("status");
                                            
                   if (window.WebSocket === undefined) {
                      state.innerHTML = "sockets not supported";
                      state.className = "fail";
                   }else {
                      if (typeof String.prototype.startsWith != "function") {
                         String.prototype.startsWith = function (str) {
                            return this.indexOf(str) == 0;
                         };
                      }
                                                    
                      window.addEventListener("load", onLoad, false);
                   }
                                            
                   function onLoad() {
                      var wsUri = "ws://blablabla:1111";
                      websocket = new WebSocket(wsUri);
                      websocket.onopen = function(evt) { onOpen(evt) };
                      websocket.onclose = function(evt) { onClose(evt) };
                      websocket.onmessage = function(evt) { onMessage(evt) };
                      websocket.onerror = function(evt) { onError(evt) };
                   }
                                            
                   function onOpen(evt) {
                      state.className = "success";
                      state.innerHTML = "Connected to server";
                   }
                                            
                   function onClose(evt) {
                      state.className = "fail";
                      state.innerHTML = "Not connected";
                      connected.innerHTML = "0";
                   }
                                            
                   function onMessage(evt) {
                      // There are two types of messages:
                      // 1. a chat participant message itself
                      // 2. a message with a number of connected chat participants
                      var message = evt.data;
                      alert(message);
                                                    
                      if (message.startsWith("log:")) {
                         message = message.slice("log:".length);
                         log.innerHTML = '<li class = "message">' + 
                            message + "</li>" + log.innerHTML;
                      }else if (message.startsWith("connected:")) {
                         message = message.slice("connected:".length);
                         connected.innerHTML = message;
                      }
                   }
                                            
                   function onError(evt) {
                      state.className = "fail";
                      state.innerHTML = "Communication error";
                   }
                                            
                   function addMessage() {
                      var message = chat.value;
                      chat.value = "";
                      websocket.send(message);
                   }
                                            
                </script>
     
             </section>
     
          </body>
     
       </head>	
     
    </html>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 054
    Points : 44 568
    Points
    44 568
    Par défaut
    Bonjour,
    si tu ne peux pas utiliser le protocaol wss:// tu ne pourras rien faire.

    Existe-t-il une autre technologie que les WebSockets que je pourrais utiliser pour communiquer avec mon serveur TCP ?
    Tu peux toujours regarder du côté du traditionnel XMLHttpRequest avec un setTimeout, du Long polling ou encore des Server Sent Events.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    D'accord, merci. Je vais essayer ça et je vous tiens au courant.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/12/2018, 15h42
  2. L'API Websockets ce que c'est et comment l'utiliser
    Par TiranusKBX dans le forum Contributions JavaScript / AJAX
    Réponses: 0
    Dernier message: 12/04/2015, 19h26
  3. Comment gérer la persistance en utilisant des Websockets ?
    Par Ryu2000 dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 19/11/2013, 07h16
  4. Utilisation websocket avec Tomcat7
    Par Nuzei dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 08/04/2013, 12h33
  5. Utiliser les websocket
    Par topolino dans le forum NodeJS
    Réponses: 1
    Dernier message: 25/04/2012, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo