Я следовал учебному руководству по веб-сокету HTML5 на следующем веб-сайте:
http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/
Это работало хорошо, затем я изменил значение хоста с "localhost: 8080" на "218.175.192.160: 8080 "(мой ip) на странице на стороне клиента, на стороне сервера все еще сохраняется" localhost: 8080 ".
Оказывается, я могу просматривать страницу в браузере (apache), например, с протоколом http"http://218.175.192.160:8080/client.html", однако сокет на стороне клиента не может подключиться к" ws: //218.175.192.160: 8080 / daemon.php ". (Отредактированная опечатка)
мои вопросы: 1на стороне клиента, почему websocket работает только на "ws: // localhost: 8080 / daemon.php", а не на "ws: //218.175.192.160: 8080 / daemon.php"?
2.почему socket_bind ($ socket, "127.0.0.1", 8080) работает, а socket_bind ($ socket, "218.175.192.160", 8080) выдает ошибку? система напоминает "невозможно связать адрес [0]: запрошенный адрес не являетсядействителен в его контексте ". Я уверен, что IP-адрес принадлежит моему серверу.
Пожалуйста, помогите, спасибо.
Я нашелпричина ошибки: привязка неправильного адреса, потому что я использовал маршрутизатор, хотя я настроил службу NAT на маршрутизаторе, но я забыл, что адрес «218.175.192.160» принадлежит интерфейсу маршрутизатора, а не моей машине сервера.
адрес сервера должен быть локального типа адреса, например: «192.168.1.2», который действительно находится на интерфейсе локальной сети.
извините, что я забыл основные настройки сети :(, надеюсь, этот пост поможет сети новичку, как я, спасибо ~:)