我试图从服务器外部的任何地方连接到在NodeJS中配置的套接字,如果我可以连接到套接字,但是当尝试从同一服务器连接时,它显示消息:“ socketio.exceptions。 ConnectionError:服务器拒绝了连接“
我配置的端口是8085 我尝试添加: -http://localhost:8085 -https://localhost:8085 -http://127.0.0.1:8085 -https://127.0.0.1:8085 -*:8085 -192.168.4.7:8085 -PublicIP:8085
import socketio
sio = socketio.Client()
sio.connect('https://localhost:8085')
当我从服务器外部连接时,它允许我与套接字进行交互。问题是本地服务器,因为它立即显示“连接被拒绝”消息
答案 0 :(得分:1)
我用origins参数求解:
const io = require('socket.io')(server,{pingTimeout: 0, pingInterval: 500, origins: '*:*'});
答案 1 :(得分:1)
我也遇到了同样的问题。
server side
和 client side
上的其他人。server.py
:# using eventlet, visit the docs for more info
import eventlet
import socketio
sio = socketio.Server()
app = socketio.WSGIApp(sio, static_files={
'/': {'content_type': 'text/html', 'filename': 'index.html'}
})
@sio.event
def connect(sid, environ):
print('connect ', sid)
@sio.event
def my_message(sid, data):
print('message ', data)
@sio.event
def disconnect(sid):
print('disconnect ', sid)
if __name__ == '__main__':
# change the 5000 to any port you want
# leave the 'localhost' empty string to run on your IP
eventlet.wsgi.server(eventlet.listen(('localhost', 5000)), app)
client.py
:import socketio
sio = socketio.Client()
@sio.event
def connect():
print('connection established')
@sio.event
def my_message(data):
print('message received with ', data)
sio.emit('my response', {'response': 'my response'})
@sio.event
def disconnect():
print('disconnected from server')
sio.connect('http://localhost:5000/')
sio.wait()
然后,先运行 server.py
:
C:\User\new>py server.py
(12080) wsgi starting up on http://127.0.0.1:5000
然后运行client.py
:
C:\User\new>py clinet.py
connection established
并且您的套接字文件正在运行。
socket.io
中的javascript
,您会对这个过程感到轻松。因为这是入门和学习的完美且最简单的方式socket.io
答案 2 :(得分:0)
遇到同样的事情。对我来说,这在Windows 10中似乎是一个问题:它需要
sio.connect('http://192.168.178.18:8080')
显示您计算机的确切IP地址。不是'localhost'或其他任何东西。然后连接顺利。