概述
1、创建控制台程序
如上图所示,选择linux开发平台,我用的VS2019,.Net5.0,一直点下一步,创建。
2、创建TCP服务端程序
using LinuxTcpApp.TcpServer; using System; using System.Net; namespace LinuxTcpApp { class Program { private static AsyncTcpServer tcpServer; static void Main(string[] args) { Console.WriteLine("程序开始运行"); IPAddress ipAddress; IPAddress.TryParse("0.0.0.0", out ipAddress); tcpServer = new AsyncTcpServer(ipAddress, 9888); tcpServer.ClientConnected += TcpServer_ClientConnected; tcpServer.ClientDisconnected += TcpServer_ClientDisconnected; tcpServer.PlaintextReceived += TcpServer_PlaintextReceived; tcpServer.Start(); while (true) { Thread.Sleep(1); } } private static void TcpServer_PlaintextReceived(object sender, TcpDatagramReceivedEventArgs<string> e) { Console.WriteLine(e.Datagram); tcpServer.SendAll(e.Datagram); } private static void TcpServer_ClientDisconnected(object sender, TcpClientDisconnectedEventArgs e) { Console.WriteLine("连接断开"+ e.TcpClient.Client.LocalEndPoint.ToString()); } private static void TcpServer_ClientConnected(object sender, TcpClientConnectedEventArgs e) { Console.WriteLine("连接成功"+ e.TcpClient.Client.LocalEndPoint.ToString()); } } }
3、利用vs发布程序
我这里手动发布至文件夹,然后压缩上传到服务器
把文件放到了桌面,打开cmd利用SCP命令上传至服务器,有上传工具可以用工具上传,可以百度下载。
4、Ubuntu服务器安装.Net环境
安装命令如下:
sudo apt-get install dotnet-sdk-5.0
如果apt下载不了,请更新
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update
5、解压运行tcp服务端程序
连接服务器工具我用的是Git Bash,使用ssh命令,登录解压命令用rar x linux-x64
进入解压后的文件夹查看tcp使用情况,使用命令netstat -apt
由上图所知,没有9888这个端口的服务启动过。
之后用dotnet 命令运行LinuxTcpApp.dll,即可启动程序
可以用调试助手,进行通讯测试程序是否有问题
6、服务器后台运行程序
使用nohup命令,让程序在后台运行。完整命令如下,参数可以百度了解。
再次查看,tcp使用情况,如下图所示:
至此利用C# 语言跨平台Tcp服务器程序开发部署完毕,当有大型程序任务开发时,此方法不推荐使用,最好使用容器,保证程序的运行的稳定性。
总结
到此这篇关于C#控制台程序如何发布到服务器Linux上运行的文章就介绍到这了,更多相关C#控制台程序发布到Linux内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!
最后
以上就是追寻香氛为你收集整理的C#控制台程序如何发布到服务器Linux上运行的全部内容,希望文章能够帮你解决C#控制台程序如何发布到服务器Linux上运行所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复