Utilisez socket.io pour implémenter websocket. Le lien backend actuel est comme ceci : ws://103.31.201.1/some Utilisez le proxy nginx pour supprimer les ports non-80 dans l'URL (les mini-programmes ne sont pas autorisés à transporter des ports, vous. sais), mais dans la requête réelle, socket.io supprime toujours /some et les requêtes sont envoyées à ws://103.31.201.1. Comment gérer ce problème ?
var socket = io.connect('ws://103.31.201.1/some')
socket.on('even_name',function(data){
console.log(data);
})
L'URL de la requête envoyée devient :
http://103.31.201.1/socket.io/?EIO=3&transport=polling&t=1492593587367-0
Il n'y a pas de chemin de répertoire comme /some dans l'URL, ce qui entraîne l'échec de la connexion du socket
Supplément : Parfaitement résolu :
var socket = io.connect('ws://103.31.201.1', {path: '/some/socket.io'})
socket.on('even_name',function(data){
console.log(data);
})
Par défaut, le chemin pointe vers /socket.io, vous pouvez prédéfinir le chemin pour ajouter un répertoire
Bonjour, j'ai rencontré ce problème que vous avez posté auparavant. Après avoir configuré le chemin selon votre solution, j'ai trouvé dans le journal d'accès nginx que le code d'état de retour de la demande est 400. Savez-vous ce qui se passe ? . Problème avec l'URL du répertoire dans socket.io connect
.