Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Nieaunder7/SimpleTCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

23 Commits

Repository files navigation

SimpleTCP

Straightforward and incredibly useful .NET library to handle the repetitive tasks of spinning up and working with TCP sockets (client and server).

NuGet Package: https://www.nuget.org/packages/SimpleTCP/

Build Status

Want a TCP server that listens on port 8910 on all the IP addresses on the machine?

var server = new SimpleTcpServer().Start(8910);

Want a TCP client that connects to 127.0.0.1 on port 8910?

var client = new SimpleTcpClient().Connect("127.0.0.1", 8910);

Want to send "Hello world!" to the server and get the reply that it sends within 3 seconds?

var replyMsg = client.WriteLineAndGetReply("Hello world!", TimeSpan.FromSeconds(3));

Want to receive a message event on the server each time you see a newline \n (char 13), and echo back any messages that come in?

server.Delimiter = 0x13;
server.DelimiterDataReceived += (sender, msg) => {
 msg.ReplyLine("You said: " + msg.MessageString);
 };

Want to know how many clients are connected to the server?

int clientsConnected = server.ConnectedClientsCount;

Want to change the text encoding that the client and server uses when sending and receiving strings? (The default is ASCII/UTF8.)

server.StringEncoder = System.Text.ASCIIEncoding.ASCII;
client.StringEncoder = System.Text.ASCIIEncoding.ASCII;

Want to get the IP addresses that the server is listening on?

var listeningIps = server.GetListeningIPs();

Want to get only the IPv4 addresses the server is listening on?

var listeningV4Ips = server.GetListeningIPs().Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);

Want to make your node.js friends stop saying things like "with node I can spin up a web server in only 4 lines of code"?

var server = new SimpleTcpServer().Start(80);
server.DataReceived += (sender, msg) => {
 msg.Reply("Content-Type: text/plain\n\nHello from my web server!"); 
 };

(But really, this library isn't ideal for web server-ing, so don't do that in prod.)

About

Straightforward .NET library to handle the repetitive tasks of spinning up and working with TCP sockets (client and server).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • C# 100.0%

AltStyle によって変換されたページ (->オリジナル) /