C#控制台程序如何发布到服务器Linux上运行

目录
  • 1、创建控制台程序
  • 2、创建TCP服务端程序
  • 3、利用vs发布程序
  • 4、Ubuntu服务器安装.Net环境
  • 5、解压运行tcp服务端程序
  • 6、服务器后台运行程序
  • 总结

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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#利用VS中插件打包并发布winfrom程序

    本文为大家分享了C#利用VS中插件打包并发布winfrom程序,供大家参考,具体内容如下 1.先在VS 的扩展更新中搜索此插件[2015 installer Projects],点击下载,安装需要关闭VS 2.安装完毕之后新建项目 3.选择"application folder"项,然后在右边的空白区域右击,选择Add,如下图 4.选择需要打包发布的exe文件 这里会自动带出相关联的dll文件,如图: 5.选中程序主入口也就是exe后缀的文件右键添加快捷方式,这里需要添加两个快捷方式,

  • C#控制台程序如何发布到服务器Linux上运行

    目录 1.创建控制台程序 2.创建TCP服务端程序 3.利用vs发布程序 4.Ubuntu服务器安装.Net环境 5.解压运行tcp服务端程序 6.服务器后台运行程序 总结 1.创建控制台程序 如上图所示,选择linux开发平台,我用的VS2019,.Net5.0,一直点下一步,创建. 2.创建TCP服务端程序 using LinuxTcpApp.TcpServer; using System; using System.Net; namespace LinuxTcpApp { class Pr

  • go程序部署到linux上运行的实现方法

    目录 一.win10上的操作 二.linux 端 ubuntu go 语言版本:go1.9.2 开发环境:win10 部署环境:ubuntu 14.04.6 一.win10上的操作 1.在src目录下依次执行set CGO_ENABLED=0.set GOOS=linux.set GOARCH=amd64命令 2.进入主项目目录,执行go build 程序入口文件.我这里是main.go go build main.go 报“cannot find package "golang.org/x/s

  • 在Linux上运行C#的方法

    本文实例讲述了在Linux上运行C#的方法.分享给大家供大家参考.具体方法如下: 在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库.编译器/解释器.运行环境.库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写..NET框架也不例外,包含了许多类库.另外,把程序转换成可执行形式以及运行执行文件时,编译器和运行环境是必不可少的.Mono软件包包含了.NET类库的一部分.一个C#编译器和.NET运行环境CLR(Common Language Runtime,公共语

  • springboot项目部署在linux上运行的两种方式小结

    springboot部署项目在linux的两种方式 可以选择 war包方式或者jar包方式(个人推荐使用jar方式) 1.springboot的jar包方式 因为idea默认就是jar打包方式所以直接使用maven工具按照步骤点击就可以直接打包 打包之前别忘了修改好你的配置文件,别到时候端口号冲突启动不了(多个同样的端口号),假如要使用linux上的数据库也要提前修改好密码 然后控制台就会输出执行过程,不用管,最后结束了就会这如图红框处找到输出路径. 找到这个文件把他扔到你的linux虚拟机里,

  • Linux Docker运行springboot项目的步骤详解

    简介: Docker 运行springboot项目其实配置非常简单,跟咱们直接到Linux上运行springboot是一样一样的.开始 一:咱们首先要有一个运行Docker环境 第一步:使用 yum 安装(CentOS 7下) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 [root@iZbp1gp1t778obaz5m8vk8Z ~]# uname

  • 在Linux操作系统上运行Windows应用程序

    大多使用Linux的人都对WINE程序比较熟悉,WINE程序是可以在不需要Windows的情况下使用Windows的软件.WINE还是算比较成熟的,但是WINE只能运行部分程序,还有一些程序在运行的时候会出现一些问题. 除了WINE,还有一些其它的软件可以帮助你运行一些特殊的程序.例如,CodeWeaver 公司的CrossOver办公软件,它可以让你在Linux下运行Windows下的一些商业软件(如微软的OFFICE,Quicken等等).TransGaming 公司的WineX可以让你在L

  • 阿里云服务器linux系统搭建Tomcat部署Web项目

    整个过程我给它分成四个步骤: 下载并安装jdk 下载并安装Tomcat 配置阿里云服务器信息 部署web项目 使用的工具:Xshell.WinSCP. 没有安装jdk的小伙伴点击上方超链接跳转到安装jdk博客 下载并安装Tomcat 到这个网页下查看最新的镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat 使用工具Xshell操作Linux系统 移动到home目录下载tomcat 下载 wget https://mirrors.tuna.t

  • SpringBoot打包发布到linux上(centos 7)的步骤

    打包发布 jar包部署相对较为简单,尤其是在分布式服务比较多的情况下. 单体项目 如果是单体项目,只需要找到maven的插件,点击package运行.注意是Lifecycle下的插件,"Plugins"下的插件不一定有用. 打包完了后,去target包下找到自己的jar包.如果你的项目交给git管理,并且在idea里配置过部分文件忽略不提交,那么很有可能已经被你隐藏起来了. 右击项目,选择show in explorer,在win10的文件管理器里就可以看到target了 多模块项目(

  • Linux上使用Docker部署ASP.NET Core应用程序

    一.创建 1.创建应用程序 使用ASP.NET Core创建一个MVC应用程序,并修改Home控制器Index视图代码: @{ ViewData["Title"] = "Home Page"; } <div class="text-center"> @*<h1 class="display-4">Welcome</h1> <p>Learn about <a href=&qu

随机推荐