(改写问题的建议?)
我正在使用客户端/服务器模式通过套接字发送数据。当我运行 python(在 pycharms 中)时,接收端的输出没有得到数据。但是,当我使用重新运行图标(在 pycharms 中)时,数据会通过。
老实说,我对这种行为感到困惑,除了告诉你我观察到的东西之外,我不知道该问什么。
这是客户端代码。net
它正在使用(node.js)与服务器设置交谈
客户端.py
import socket // python version 2.7.*
if __name__ == "__main__":
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 7000))
client.sendall("test data to transmit")
data = client.recv(50)
client.close()
print 'Received', repr(data)
服务器.js
var net = require('net'); // node v0.10.21 (latest)
var PYTHON = {HOST :'127.0.0.1', PORT :7000};
net.createServer(function(socket) {
console.log('CONNECTION for Python: ' + socket.remoteAddress +':'+ socket.remotePort);
var body = '';
socket.on('data', function(data) {
console.log('DATA ' + socket.remoteAddress );
body += data;
});
socket.on('close', function(err) {
console.log('finish transmitting data... ');
console.log(body);
});
}).listen(PYTHON.PORT, PYTHON.HOST, function() {
console.log('---->socket to talk to python '
+ PYTHON.HOST + ':' + PYTHON.PORT);
});
更新:添加 server.js 代码