• 大小: 90KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: C#
  • 标签: c#  Sokcet  负载均衡  源码  

资源简介

c#源码 Socket 负载均衡 实例 通过本实例可以方便的管理多服务器 大量客户连接管理 可自动按连接数量分配适合的服务器 有助于想要实现这样功能的朋友参考或改写

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Web.script.Serialization;
using System.Windows.Forms;

namespace 负载均衡
{
    public partial class MainForm : Form
    {
        /// 
        /// 初始化
        /// 

        public MainForm()
        {
            InitializeComponent();
            Config.Config.ServerInfoChangeEvent = ServerInfoChangeEvent;
        }
        /// 
        /// 当前监听线程
        /// 

        private Thread Listener_Th { get; set; }
        /// 
        /// 当前监听对象
        /// 

        private TcpListener Listener { get; set; }
        /// 
        /// 开启监听按钮被单击事件
        /// 

        /// 
        /// 
        private void Ts_Open_Click(object sender EventArgs e)
        {
            Config.Config.IsOpen = Ts_Open.Text == “开启“;
            Ts_Open.Text = Config.Config.IsOpen ? “关闭“ : “开启“;
            if (Config.Config.IsOpen) {
                Listener_Th = new Thread(TcpListener);
                Listener_Th.IsBackground = true;
                Listener_Th.Start();
            }
            else
            {
                Listener_Th.Abort();
                Listener.Stop();
                Config.Config.InitializationServers();
            }
        }
        /// 
        /// 服务器信息改变事件
        /// 

        private void ServerInfoChangeEvent()
        {
            this.Invoke(new Action(() =>
            {
                dataGridView1.DataSource = Config.Config.GetServerList().ToList();
                dataGridView1.Update();
            }));
        }
        /// 
        /// 监听主线程
        /// 

        private void TcpListener()
        {
            Listener = new TcpListener(IPAddress.Parse(Config.Config.ServerAddress) Config.Config.ListenerPort);
            Listener.Start();
            while (Config.Config.IsOpen)
            {
                var P = Config.Config.GetServerInfo();
                try
                {
                    TcpClient NewClient = Listener.AcceptTcpClient();
                    DateTime dt = DateTime.Now;
                    NewClient.SendTimeout = 3000;
                    NewClient.ReceiveTimeout = 0;
                    TcpClient LocalClient;
                    Boolean IsConect = false;
                    while (!IsConect)
                    {
                        try
                        {
                            LocalClient = new TcpClient(P.Address P.Port);
                            IsConect = true;
                            LocalClient.SendTimeout = 3000;
                            LocalClie

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     53248  2017-10-26 13:53  负载均衡\.vs\负载均衡\v14\.suo

     文件        335  2017-10-26 13:40  负载均衡\负载均衡\App.config

     文件      22528  2017-10-26 13:52  负载均衡\负载均衡\bin\Debug\负载均衡.exe

     文件        331  2017-10-26 17:11  负载均衡\负载均衡\bin\Debug\负载均衡.exe.config

     文件      46592  2017-10-26 13:52  负载均衡\负载均衡\bin\Debug\负载均衡.pdb

     文件      22688  2017-10-26 13:50  负载均衡\负载均衡\bin\Debug\负载均衡.vshost.exe

     文件        335  2017-10-26 13:40  负载均衡\负载均衡\bin\Debug\负载均衡.vshost.exe.config

     文件        490  2016-07-16 19:44  负载均衡\负载均衡\bin\Debug\负载均衡.vshost.exe.manifest

     文件       4605  2017-10-26 13:47  负载均衡\负载均衡\Config\Config.cs

     文件       1943  2017-10-26 13:20  负载均衡\负载均衡\Currency\UtilConvert.cs

     文件        609  2017-10-26 13:22  负载均衡\负载均衡\Info\ForwardInfo.cs

     文件       1081  2017-10-26 13:24  负载均衡\负载均衡\Info\ServerInfo.cs

     文件       6004  2017-10-26 13:51  负载均衡\负载均衡\MainForm.cs

     文件       5333  2017-10-26 13:39  负载均衡\负载均衡\MainForm.Designer.cs

     文件      11941  2017-10-26 13:39  负载均衡\负载均衡\MainForm.resx

     文件       1020  2017-10-25 15:48  负载均衡\负载均衡\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7182  2017-10-26 13:50  负载均衡\负载均衡\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       3584  2017-10-25 15:48  负载均衡\负载均衡\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        715  2017-10-26 13:52  负载均衡\负载均衡\obj\Debug\负载均衡.csproj.FileListAbsolute.txt

     文件       1015  2017-10-26 13:52  负载均衡\负载均衡\obj\Debug\负载均衡.csproj.GenerateResource.Cache

     文件      22528  2017-10-26 13:52  负载均衡\负载均衡\obj\Debug\负载均衡.exe

     文件       4289  2017-10-26 13:52  负载均衡\负载均衡\obj\Debug\负载均衡.MainForm.resources

     文件      46592  2017-10-26 13:52  负载均衡\负载均衡\obj\Debug\负载均衡.pdb

     文件        221  2017-10-26 13:52  负载均衡\负载均衡\obj\Debug\负载均衡.Properties.Resources.resources

     文件        496  2017-10-25 16:09  负载均衡\负载均衡\Program.cs

     文件       1332  2017-10-25 15:47  负载均衡\负载均衡\Properties\AssemblyInfo.cs

     文件       3153  2017-10-25 15:48  负载均衡\负载均衡\Properties\Resources.Designer.cs

     文件       5939  2017-10-25 15:48  负载均衡\负载均衡\Properties\Resources.resx

     文件       1099  2017-10-25 15:47  负载均衡\负载均衡\Properties\Settings.Designer.cs

     文件        249  2017-10-25 15:47  负载均衡\负载均衡\Properties\Settings.settings

............此处省略20个文件信息

评论

共有 条评论