Are there any good free .Net network libraries? (F

2019-01-16 16:23发布

问题:

I'm a bit surprised I haven't found a good open source library for performing common network tasks. There are a few very good commercial libraries, but they're too expensive to use on an open source project.

Anyone know of any?

回答1:

SSH.NET Library - https://github.com/sshnet/SSH.NET

Inspired by Sharp.SSH, this library is complete rewrite using .NET 4.0, without any third party dependencies and utilizes parallelism as much as possible to allow best performance.

It's been a solid C# implementation of client side SSH.



回答2:

edtFTPNet is free, but you have to buy their "Pro" version to get SFTP (FTP over SSH) and FTPS (FTP over SSL).



回答3:

Although it hasn't been updated in a while, it is free! I remember being able to get SharpSSH to run without much hassle, and it supports port forwarding (which is what I was looking for at the time!).

SharpSSH http://www.tamirgal.com/home/dev.aspx?Item=SharpSsh



回答4:

.Net ships with some basic FTP support via System.Net.FtpWebRequest, but its a bit crude at best. A far superior alternative that I can recommend is dotNET FTP client from sourceforge.

I don't know if you're looking for email libraries too, but its something that I came across, so I'll mention it.

For email composing and delivery, the basic .NET libraries are fine. System.Net.Mail.MailMessage is great for composing emails, and System.Net.Mail.SmtpClient is good for sending emails over SMTP.

For retrieving emails with POP3 and parsing MIME messages, you will want an external library. I've been using POP3 MIME Client from codeproject without any problems.

I hope that helps!



回答5:

It's not a single library, and I'm not sure how good they are but I was able to find a couple of links to open source libraries here:

http://csharp-source.net/open-source/network-clients

Hope this helps! Jeff



回答6:

Lumisoft is open source and has FTP, DNS, IMAP, POP3 clients, among other stuff. It doesn't include SSH and SFTP though.



回答7:

  • All-singing-all-dancing solution which looks good to me, but which I haven't tried: http://www.nsoftware.com/products/component/sftp.aspx
  • SSH / SFTP library which my company uses: http://www.eldos.com/sbb/net-sftp.php

In practice, the only place where I currently do SFTP, I use putty's bundled psftp utility, and run it from a process object. That may not be great, but it's working reliably for me.



回答8:

IIRC, FTP is built in to .NET, (System.Net.FtpWebRequest) and last time I looked (a couple of years ago, admittedly) I couldn't find any free SSH / SFTP assemblies. That might have changed, though.



回答9:

I did some research and found an implementation of SSH in C#, called sharpSsh. It is a port of the Jsch (Java Secure Channel) library for Java. We use Jcsh here at my employer, and it's great. I can't vouch for the C# version.