【发布时间】:2016-06-05 23:05:00
【问题描述】:
我正在尝试将 Node.js 与 Python 结合以创建套接字连接。
问题是我可以发送数据,但我无法保持连接。
这是我在 Node.js 中的服务器
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 1337;
net.createServer(function(sock) {
console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort);
sock.on('data', function(data) {
console.log('DATA ' + sock.remoteAddress + ': ' + data);
sock.write('You said "' + data + '"');
});
sock.on('close', function(data) {
console.log('CLOSED: ' + sock.remoteAddress +' '+ sock.remotePort);
});
}).listen(PORT, HOST);
console.log('Server listening on ' + HOST +':'+ PORT);
这是我在 Python 中的客户端
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Connect the socket to the port where the server is listening
server_address = ('localhost', 1337)
print >>sys.stderr, 'connecting to %s port %s' % server_address
sock.connect(server_address)
try:
# Send data
message = 'This is the message.'
print >>sys.stderr, 'sending "%s"' % message
sock.sendall(message)
finally:
print >>sys.stderr, 'closing socket'
这很好用,但客户端在发送数据后立即断开连接。
最终,我希望能够给用户输入来发送数据,也可以接收数据。
任何关于如何做到这一点的建议将不胜感激。
【问题讨论】:
标签: python node.js sockets tcp