我一直在尝试使用pythonapi(从PLC中提取数据并将其推入MongoDB)将数据(hello world字符串)插入MongoDB。我收到错误消息:"D:\Python27\lib\socket.py, line 222, in meth return getattr(self._sock,name)(*args) error:
[Errno 10061] No connection could be made because the target machine
actively refused it"
尽管在服务后台运行了mongod,我在下面编写的代码。另外,存在MongoDB的服务器IP地址是10.52.124.186,而PLC的地址(我在我的电脑上使用它)是10.52.124.135。我几乎用尽了一切办法来解决它,但我不知道如何克服它。我哪里出错了?在#!/usr/bin/python
import socket
import socket
import pymongo
from pymongo import MongoClient
import datetime
# Connection to server (PLC) on port 27017
server = socket.socket()
host = '10.52.124.135'
port = 27017
server.connect((host, port))
print server.recv(1024)
server.close
#Connection to Client (Mongodb) on port 27017
IP = '10.52.124.186'
PORT = 27017
BUFFER_SIZE = 1024
client = MongoClient('10.52.124.186', 27017)
db = client.RXMMongoDB
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((IP, PORT))
s.listen(1)
#connections loop
while True:
conn, addr = s.accept()
print 'Connection address:',addr
try:
# read loop
while True:
data = server.recv(BUFFER_SIZE)
if not data:
break
# send to Mongo
mongodoc = { "data": data, "date" : datetime.datetime.utcnow() }
db.AAAA.insert(mongodoc)
finally:
conn.close()