Skip to content
/ snc Public

The ancient art of plain network communication, based on Unix Berkeley Sockets.

License

Notifications You must be signed in to change notification settings

odabrab/snc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README FOR SNC

This is the SNC readme file.

INTRODUCTION

SNC, and socket programming stand as a personal hobby of the author and some friends of him. As a matter of fact, they also help him as a programmer, researcher and teacher, in his network-related activities and projects.

As of 2024, Simple Network Communicator (SNC) stands as a didactic project for UNIX Berkeley Sockets in C, Java, and Python as well. In all of its versions, the application seeks to be minimal. Thus, communication is elegantly implemented in a peer-to-peer fashion.

SNC lives in a distributed version control network of repos. One's able to find its public repos on GitHub and SourceForge services.

DEPENDENCY(IES)

This section covers dependencies of many types, e.g., packages, programming languages, and environments. It should also mention versions.

INSTALLATION AND EXECUTION

INSTALLATION

TESTING

EXECUTION

USAGE EXAMPLES

DIRECTORY STRUCTURE

DIRECTORY: .ignore/

DIRECTORY: doc/

Directory doc/ shelters the project's documentation. It even includes a file regarding its original submission, when Marcio was a computer science student. That is kept for historical reasons.

DIRECTORY: lib/

The lib/ directory shelters content being used somewhere in this directory, as long as the referred content do not belong to the src/ directory. Examples of content are software code (binaries, sources and/or scripts) and PNG files.

DIRECTORY: sw/

The sw/ directory shelters both binary and text executable files which do not belong to the lib/ directory, e.g., the sw/exe/ subdirectory, previously named sw/bin/, and the sw/src/ subdirectory, which shelters sources. Also, the install.sh file do not belong to this directory.

As for the C implementation, the original one, the socket is implemented as a library.

As for the Java implementation, the first to be published, there are two classes only: SimpleNetworkCommunicator, which holds the main() method, and Peer. And that is it. The main class is br.com.bdslabs.snc.dev.SimpleNetworkCommunicator.

As for the Python 3 implementation, the code and comments use a lot of Portuguese, because it is used in Marcio's classes for Brazilian students.

FILE: .gitignore

FILE: .project

FILE: .relations.txt

The .relations.txt file, sometimes present, resembles what software engineering calls a traceability matrix. It relates this project with others.

FILE: .rsyncignore

Besides having its versions controlled, this project adopts an rsync-based backup strategy, and this is the reason why the .rsyncignore file exists.

FILE: install.sh

HISTORY AND RELEASE NOTES

SNC was originally published as a SourceForge Git repo in 2024. In 2024, it was updated with C and Python implementations.

CONTRIBUTION

REFERENCE(S)

About

The ancient art of plain network communication, based on Unix Berkeley Sockets.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published