GithubHelp home page GithubHelp logo

simplestrpc's Issues

Better Defined Application Protocol

A better Aplication Protocol standard shall be defined for the middlewere.
A module shall be created to warp and unwarp, and message TCP messages, buffering them when needed.

Race Condition Risk

By the time client and server are pairing the RPCs, there are, mathematically, a slight probability that two message get crushed into one, and the both, client and server, get deadlocked into a socket.receiv.
In the real world it does not seem to heappen. But it should be fixed anyway.

Cryptography

Implement Cryptography for every msg sent by the middlewere

Need to pass 2 arguments for correct behavor of rpc_call invoke

Client

import sys
sys.path.append('../')

# for the user developer test
from simplestRPC.srpc_client import SRPCClient

client = SRPCClient()
ret = client.call_rpc('get_user_by_email', '[email protected]')
print(ret)

Server

import sys
sys.path.append('../')

from simplestRPC.srpc_server import SRPCServer


def get_user_by_email(email):
	print('rodando -> get_user_by_email: ', email)
	return str(2)

server = SRPCServer()
server.add_rpc(get_user_by_email)
server.serve()

it leads to this to a chash at the client, saying you passed no argumento to the rpc.
change this line

ret = client.call_rpc('get_user_by_email', '[email protected]')

for this

ret = client.call_rpc('get_user_by_email', '[email protected]', '[email protected]')

and it'll work.

Authorization

Implement authorization, allowing the user to define whether a client shall be accepted or not.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.