#python #websocket
#python #websocket
Вопрос:
Я играл с websockets, и я создал небольшой клиент, который я разместил на веб-сайте. Когда я пытаюсь подключиться с веб-сайта (со своего компьютера) к простому серверу Python на том же компьютере, он работает нормально, подключаясь к localhost. Однако я не могу подключиться с другого компьютера. Я видел эту проблему в нескольких вопросах здесь, но никаких решений. Согласно этому веб-сайту, проблема, вероятно, не может быть решена.
Альтернативой является socket.io Очевидно, как я могу использовать это для клиента на веб-хостинге? Сокет GitHub.страница ввода-вывода довольно расплывчата при установке, по крайней мере, для кого-то вроде меня.
Ну, простой пример, который работает локально, будет;
# Python server
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("", 12345))
sock.listen(5)
newsock, addr = sock.accept()
print "Connection"
// Client
<script type = "text/javascript">
window.onload = function()
{
// Works
var sock = new WebSocket("ws://127.0.0.1:12345");
// Doesn't work
var sock = new WebSocket("ws://194.237.*.*:12345");
}
</script>
Комментарии:
1. Не могли бы вы привести минимальный [нерабочий] пример?
2. Я думаю, вам нужно будет перейти
sock.bind(("", 12345))
наsock.bind(("194.237.foo.bar", 12345))
.
Ответ №1:
Вы пробовали привязку к 0.0.0.0
?
sock.bind(("0.0.0.0", 12345))
Ответ №2:
Для меня проблема заключалась в том, что я не открыл брандмауэр для входящих подключений к python.