美文网首页
C# Sockect 客户端检测与服务端的连接

C# Sockect 客户端检测与服务端的连接

作者: 赌二八定律 | 来源:发表于2020-11-25 14:51 被阅读0次
方法一,使用cmd netstat -n查看当前端口运行情况
public string Execute(string command)
        {
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;    //是否使用操作系统shell启动
            p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
            p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
            p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
            p.StartInfo.CreateNoWindow = true;//不显示程序窗口
            p.Start();
            //向cmd窗口发送输入信息  + "&exit"
            p.StandardInput.WriteLine(command + "&exit");
            p.StandardInput.AutoFlush = true;
            //p.StandardInput.WriteLine("exit");
            //获取cmd窗口的输出信息
            string output = p.StandardOutput.ReadToEnd();
            Console.WriteLine(output);
            p.WaitForExit();
            p.Close();
            return output;
        }

            //判断执行结果是否包含服务端连接即可
            string results = Execute("netstat -n");
            if (results.Contains("172.168.52.222:8999"))
            {
                Console.WriteLine("---results true ---");
            }
            else
            {
                Console.WriteLine("---results false ---");
            }
方法二,使用客户端程序再向服务端临时创建一个连接,用连接结果判断连接情况,记得关闭临时创建的连接
方法三,使用DotNetty框架,再ChannelHandlerAdapter接口的ExceptionCaught方法和HandlerRemoved方法监听实时的连接情况
public class TcpServerHandler : ChannelHandlerAdapter
    {
        
        /// <summary>
        /// 捕获 异常,并输出到控制台后断开链接,提示:客户端意外断开链接,也会触发
        /// </summary>
        public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)
        {
            Log.WriteLog($"客户端{context}下线.");
            context.CloseAsync();
        }

        /// <summary>
        /// 客户端下线断线时
        /// </summary>
        public override void HandlerRemoved(IChannelHandlerContext context)
        {
            Log.WriteLog($"客户端{context}下线.");
            base.HandlerRemoved(context);
        }
    }

相关文章

  • C# Sockect 客户端检测与服务端的连接

    方法一,使用cmd netstat -n查看当前端口运行情况 方法二,使用客户端程序再向服务端临时创建一个连接,用...

  • Netty实现心跳机制

    心跳检测逻辑:服务端启动后,等待客户端连接,客户端连接之后,向服务端发送消息。如果客户端在线服务端必定会收到数据,...

  • C#客户端与Java服务端通过socket通信

    工作环境需求:服务端使用C#编写,客户端使用Java编写。以下是一个C#客户端与Java服务端通过socket通信...

  • HTTP协议学习笔记(2)

    客户端与服务端的通信与TCP连接 1. 客户端与服务端的通信过程 当客户端想要跟服务端进行信息交互时,过程如下: ...

  • iOS Socket编程:传输数据的封包,接收数据后半包、粘包、

    1 客户端与服务端的连接规则 一般客户端与服务端要实现TCP连接,要遵循一定的规则:比如【header字节数组 +...

  • scrapy telnet服务

    telnet服务主要用于客户端与服务端之间的控制, 客户端使用该服务连接服务端, 在客户端也可以对服务端的操控 查...

  • netty心跳检测机制IdleStateHandler分析

    netty中使用了IdleStateHandler来进行心跳检测,客户端和服务端保持长连接需要通过一个检测机制来确...

  • HTTP原理

    1.客户端与服务端建立连接 2.连接建立起来后,客户端向服务端发送请求 3,服务端接收到请求后,做出相应并返回数据...

  • 基于socket的进程通信

    实现目标实现服务端与客户端的连接实现多个客户端向服务端发送消息,并由服务端将消息发送给每个客户端 涉及的Java类...

  • 2022-05-16 消息队列:高可用

    对一个消息队列而言,高可用通常考虑的客户端连接与服务端内部:客户端包含了消除单点故障导致连接失败,保障连接与宕机后...

网友评论

      本文标题:C# Sockect 客户端检测与服务端的连接

      本文链接:https://www.haomeiwen.com/subject/ikrniktx.html