Unable to insert data into MongoDB.

Arjun Srivatsa arjuns123 at gmail.com
Thu Feb 11 11:07:35 EST 2016


Hello,

I changed 

    PORT = 27017

to

    PORT = 55555.

I am not getting the error anymore. But I am still unable to insert the data into MongoDB. 


On Thursday, February 11, 2016 at 4:12:30 PM UTC+1, Arjun Srivatsa wrote:
> Hi guys. I am basically transferring the data from PLC to PC (where the Python API runs) but I'm unable to insert into MongoDB thereafter. When I run the Python script on IDLE, the output is
> 
> Hello World!
> Traceback (most recent call last): File "C:\Users\SRA2LO\Desktop\API.py", line 32, in <module> s.bind((IP, PORT)) File "C:\Python27\lib\socket.py", line 228, in meth return getattr(self._sock,name)(*args) error: [Errno 10013] An attempt was made to access a socket in a way forbidden by its access permissions
> and when I change the IP of MongoDB server, it shows
> 
> 
> Hello World!
> Traceback (most recent call last): File "C:\Users\SRA2LO\Desktop\API.py", line 32, in <module> s.bind((IP, PORT)) File "C:\Python27\lib\socket.py", line 228, in meth return getattr(self._sock,name)(*args) error: [Errno 10049] The requested address is not valid in its context.
> 
> Could you please help me out? I have disabled the firewall as well.
> 
> Here's the API I have written.
> 
> #!/usr/bin/python          
> 
> import socket
> import socket
> from pymongo import MongoClient
> #from eve import Eve
> import datetime
> 
> # Connection to server (PLC) on port 27017
> server = socket.socket()         
> host = "10.52.124.135" #IP of PLC
> port = 27017
> BUFFER_SIZE = 1024 
> ###############
> 
> server.connect((host, port))
> print server.recv(1024)
> 
> server.close 
> 
> #Connection to Client (Mongodb) on port 27017
> IP = "127.0.0.1"
> PORT = 27017
> BUFFER_SIZE = 1024
> 
> client = MongoClient('127.0.0.1', 27017)
> db = client.test_database
> 
> 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
>         conn.sendall(data)
> 
> 
>         # send to MongoDB
> 
>         mongodoc = { "data": data, "date" : datetime.datetime.utcnow() }
> 
> 
>         ABC = db.ABC
>         ABC_id = ABC.insert_one(mongodoc).inserted_id
> 
> finally:
>     conn.close()


More information about the Python-list mailing list