我使用nodejs在http://localhost:8090托管了一个HTTP服务器。
app.js 文件
var fs = require('fs')
, http = require('http')
, socketio = require('socket.io');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-type': 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(8090, function() {
console.log('Listening at: http://localhost:8090');
});
socketio.listen(server).on('connection', function (socket) {
socket.on('message', function (msg) {
console.log('Message Received: ', msg);
socket.broadcast.emit('message', msg);
});
});
});
现在我编写一个python脚本,使用套接字编程连接到这个服务器。
client.py 文件
#!/usr/bin/python # This is client.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = '127.0.0.1' # Get local machine name
port = 8090 # Reserve a port for your service.
s.connect((host, port))
s.send('Thanks for connecting.')
s.close
当我运行client.py文件时,我无法收到'感谢您提供连接'服务器端的消息。
我无法理解我哪里出错了。
答案 0 :(得分:1)
Socket.io使用创建WebSocket服务器。在python客户端中,您通过原始套接字发送纯文本。你需要的是socket.io client library for python。