Giter Club home page Giter Club logo

networkingsamples's Introduction

NetworkingSamples

Provides sample code for TCP socket programming. The samples are provided to demonstrate specific concepts and are not scalable solutions. Do not ask me to add functionality to these projects, or make them more robust. The programs can connect remotely much like they can locally. Simple change the target IP address in the client (be it in a textbox or particular line of code), then open the appropriate port for the server. Do not ask me to change the programs so they can connect remotely. And do not ask me how to connect them remotely. If you cannot connect them remotely, it is not a problem with the programs.

Fundamental knowledge of C# and networking is required to work with sockets. Socket programming is easily one of the hardest and most frustrating things to do in computer programming. Trying to do socket programming without the fundamentals is like trying to sprint without knowing how to crawl. You will only fall on your face, and have seemingly eternal frustration. If you need a simple yet robust TCP socket solution, take a look at my TcpInteract repository. I still recommend acquiring fundamental C# skills before using the library. For instance, there is no point wasting your time trying to implement such a library while having no understanding or generics and events.

BasicAsyncClient

A WinForms application that demonstrates asynchronous connect and send using the “Begin” and “End” methods. Uses custom/manual serialization.

BasicAsyncServer

A WinForms application that demonstrates asynchronous connect and send using the “Begin” and “End” methods. Uses custom/manual serialization.

MultiClient

A console application demonstrating a client that is used to connect to a server that accepts multiple clients. Sends and receives simple strings.

MultiServer

A console application demonstrating multiple client connections. It uses asynchronous accept and receive, and synchronous send. Sends and receives simple strings.

SyncSocketsConsole

Demonstrates synchronous sockets in a very simple solution. Both the client and server are part of the same console application. The console application starts in client-mode when the “/c” command-line switch is provided to it. It starts in server-mode when the “/s” command-line switch is provided to it. But Brian, what is a command-line switch? Something that should be understood 4 years in advance to any understanding of sockets…

networkingsamples's People

Contributors

ableopus avatar

Watchers

James Cloos avatar  avatar

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.