python - nodejs服务器,python客户端为什么他们不与websocket连接
问题描述
我正在尝试使用 Raspberry Pi 上的 python 客户端对 nodejs 服务器进行基本测试。这比我想象的要正确得多。最后非常简单。
这是服务器:
const io = require('socket.io')(6079); listen on port 6079
var mysocket;
io.on('connection', (socket) => {
console.info('connection established');
mysocket = socket;
socket.on('msg', (msg) => {
console.log(msg);
sendToClient("I got you python");
});
socket.on('disconnect', function() {
console.log('client disconnected');
});
});
function sendToClient(oTronic) {
mysocket.emit('msg', oTronic); // <- wasn't 'msg' to start
}
这是未编辑示例中没有“消息”事件的 python 客户端:
import socketio
sio = socketio.Client()
@sio.event
def connect():
print('Connection established with server to send message data.')
send_msg("this is a test")
@sio.event
@sio.on('msg')
def on_message(data):
print("Python on_message received: " + data)
@sio.event
def disconnect():
print('Disconnected from websocket! Cannot send message data.')
def send_msg(msg):
print("sending")
sio.emit('msg', msg)
sio.connect('ws://localhost:6079')
我错过了什么??
解决方案
好的,现在进行一些小的编辑。我在 send_msg 函数中没有正确的消息“msg”,所以我修复了它。
我还安装了: pip install socketio-client 但我不知道是否有必要。无论如何,现在它从 python 向 nodejs 发送一条消息,nodejs 向 python 发送一条消息。
推荐阅读
- java - 录制和播放声音时的回声
- visual-studio-code - Python3 无法打开文件'practice1.py':[Errno 2] 没有这样的文件或目录
- r - 尝试使用引导 R 找到预测值的 95% 置信区间
- php - .htaccess 文件在 linux 中不被读取
- r - 对“h-step拟合值”的误解
- azure-active-directory - 如何在 Azure AD SAML 中设置自定义声明值
- java - JPA 和 Hibernate,管理多个字段的 uniqueConstraints
- python - 层simple_rnn_16的输入0与层不兼容:预期ndim=3,发现ndim=4
- function - 函数形式参数中 $value 的含义
- angular - Chart JS +ng2-charts 不适用于 Angular+2