文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯