用于连接到使用Nodejs创建的socket.io Server的Python脚本

时间:2015-04-16 07:05:45

标签: python node.js sockets socket.io server

我使用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文件时,我无法收到'感谢您提供连接'服务器端的消息。

我无法理解我哪里出错了。

1 个答案:

答案 0 :(得分:1)

Socket.io使用创建WebSocket服务器。在python客户端中,您通过原始套接字发送纯文本。你需要的是socket.io client library for python