Linux运行c#_在控制台运行一个java程序

Linux运行c#_在控制台运行一个java程序1、创建控制台程序如上图所示,选择语言为linux,我用的VS2019,.Net5.0,一直点下一步,创建。2、创建TCP服务端程序usingLinuxTcpApp.TcpServer;usingSystem;usingSystem.Net;namespaceLinuxTcpApp{classProgram{privatestaticAsyncTcpServertcpServer;staticvoidMain(s

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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服务器程序开发部署完毕,当有大型程序任务开发时,此方法不推荐使用,最好使用容器,保证程序的运行的稳定性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197332.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringMVC框架介绍[通俗易懂]

    SpringMVC框架介绍[通俗易懂]史上最全最强SpringMVC详细示例实战教程SpringMVC学习笔记—-一、SpringMVC基础入门,创建一个HelloWorld程序1.首先,导入SpringMVC需要的jar包。2.添加Web.xml配置文件中关于SpringMVC的配置springmvcorg.springframework.web.servlet.Dispatche…

    2022年6月7日
    34
  • ROC曲线理解

    ROC曲线理解ROC(receiveroperatorcharacteristiccurve,ROC)曲线:即受试者工作特征曲线,是反映敏感度和特异度连续变量的综合指标,用作图法展示两度之间的关系。作图方法:在相关临床研究报告中,若有一个ROC曲线图,将会给人深刻印象,具体做法是:实验结果为计量资料即连续变量,至少计算5个临界点的指标,以敏感度(真阳性率)为Y轴,1-特异度(假阳性率)为X轴,将各点连成…

    2022年5月16日
    86
  • group by 的用法[通俗易懂]

    group by 的用法[通俗易懂]版权声明:本文为CSDN博主「IT界一股清流」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/jerrytomc

    2022年7月1日
    24
  • List转set_JAVA数组转set内容不一致

    List转set_JAVA数组转set内容不一致list集合和set集合的相互转化

    2022年10月9日
    3
  • 主从复制、读写分离、集群、为什么要使用Redis数据库[通俗易懂]

    主从复制、读写分离、集群、为什么要使用Redis数据库[通俗易懂]一、什么是主从复制、读写分离、为什么要使用主从复制:是一种数据备份的方案。简单来说,是使用两个或两个以上相同的数据库,将一个数据库当做主数据库,而另一个数据库当做从数据库。在主数据库中进行相应操作时,从数据库记录下所有主数据库的操作,使其二者一模一样。读写分离:是一种让数据库更稳定的的使用数据库的方法。是在有从数据库的情况下使用,当主数据库进行对数据的增删改也就是写操作时,将查询的…

    2022年6月13日
    24
  • SPI 协议学习

    SPI 协议学习spi硬件协议学习

    2022年10月10日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号