Skip to main content

This NetStructer provides classes for implementing secure communication between client and server applications over TCP/IP using encryption. It includes the Bridge class, which represents the communication bridge between client and server, as well as utility classes for encryption, error handling, and session management.

Project description

First, i made this module to earn some money to change my 4Gram Pc so if you can support us on https://www.buymeacoffee.com/Arcade.m7 , if you can't np enjoy.

The module facilitates secure communication between client and server applications over TCP/IP by providing classes and utilities for encryption, data transmission, error handling, and session management.

The central component of the module is the Bridge class, which acts as a communication bridge between the client and server. It handles encryption and decryption of data sent over the network to ensure secure transmission. The Bridge class also provides methods for sending and receiving data buffers between client and server.

Encryption is handled by the _encryption class, which uses the Fernet encryption scheme from the cryptography library. It provides methods for encrypting and decrypting data using a specified encryption key.

Error handling is implemented through the Error class, which defines custom error types for handling server initialization errors and buffer data errors.

The module also includes a Server class for creating and managing server instances. The Server class initializes a socket server, listens for incoming connections, and handles communication sessions with client applications.

Additionally, the Container class offers a convenient interface for managing session data. It provides methods for storing, retrieving, and clearing session data associated with client connections.

Overall, this module offers a comprehensive solution for implementing secure client-server communication over TCP/IP, with features for encryption, error handling, and session management.

here a simple code of NetStructer

#Client Side

from NetStructer import Bridge

addr = ('192.168.1.5',5000) # addr of the server thats you want to connect

bridge = Bridge.Link(addr)

bridge.SendBuffer(['hi im haytam',128,{b'gg':'gg'},{1,2,6,4},(False,True)])

#Server Side

from NetStrcuter impor Server

addr = ('192.168.1.5',5000) # address

server = Server(addr) server.init()

with server.listen() as container: #container.count() return len of sessions #container.all() return all of the sessions #container.get(parm) return parm value from the container | Note parm var must be the ip of the session thats you want to get #container.pop(parm) return the value of parm and remove the session from container #contaienr.clear() close the sessions session = container.get('192.168.1.4') #the ip of the session buff = sessioin.RecvBuffer(size=1024*100,buffer_size=100000)# size like socket.recv(1024) default is 1024 | buffer_size it mean how mush well recv if the data biger then buffer_size well raise a Error.BufferDataError print(buff) #['hi im haytam',128,{b'gg':'gg'},{1,2,6,4},(False,True)]

i well give you a ather example Server class

from NetStructer import Server , Bridge

addr = ('192.168.1.5',5000) # address

server = Server(addr) server.init()

def func(socket,cont): while True: # not cont object is a dict try: soc,addr = socket.accept() cont[addr[0]] = Bridge(soc) except: pass

container = server.listen_on(func)# it well return a Container() object

sessions = []

def func(socket,_): while True: try: soc , addr = socket.accept() sessions.append(soc) except : pass

server.listen_on(func)

print(sessions)

Description: This project provides powerful math functions |For example, you can use sum() to sum numbers: | |Example:: | | >>> sum(1, 2) | 3 |

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

NetStructer-1.6.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

NetStructer-1.6-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file NetStructer-1.6.tar.gz.

File metadata

  • Download URL: NetStructer-1.6.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for NetStructer-1.6.tar.gz
Algorithm Hash digest
SHA256 9e1908c56e61e2377c1fc8da0e31755cd9b593b6ccc0c000e57ca5edd5660415
MD5 de61ebfa5dc53bfa47dc9b01399d6e44
BLAKE2b-256 88050dee91892cbf15c4a7c14d5f0b2a4df4b744f3a8639eef353a592b40fad9

See more details on using hashes here.

File details

Details for the file NetStructer-1.6-py3-none-any.whl.

File metadata

  • Download URL: NetStructer-1.6-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for NetStructer-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 716fc630c90c819cf7ba401287ef68712b2693db639a655dbcffd9749f42573a
MD5 6aa26e32341529a0876171bd909c61ba
BLAKE2b-256 93b705124f7cd1f186c38c05781d8b9f896f93fbacaf31ed542b9f07c7d2f5f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page