RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-386256

Иван Рудаков's questions

Martin Hope
xellan
Asked: 2024-11-28 08:09:35 +0000 UTC

连接ClientWebSocket时c#错误400

  • 5

错误 当预期状态代码为“101”时,服务器返回了状态代码“400”。

但如果我写,Uri serverUri = new Uri("ws://localhost:8888/");一切都会好起来的。告诉我如何解决这个错误的问题,我在谷歌上找不到任何东西。

我使用 SocketTest 程序通过本地 IP 检查服务器的可用性,它连接成功,但我的客户端根本无法连接

服务器代码

public async Task InitServerAsync()
   {
       var httpListener = new HttpListener();
       httpListener.Prefixes.Add($"http://{ip}:{port}/");

       try
       {
           try
           {
               httpListener.Start();
           }
           catch (Exception e)
           {
               MessageBox.Show($"port: {port} занят, укажите другой порт");
               Form1.IsEnabledBtn = true;
               return;
           }
           while (true)
           {
               await Task.Delay(1);
               var httpContext = await httpListener.GetContextAsync();

               if (httpContext.Request.IsWebSocketRequest)
               {
                   var webSocketContext = await httpContext.AcceptWebSocketAsync(null);
                    _ = Task.Run(() => ProcessServerAsync(webSocketContext.WebSocket));
                //   await ProcessServerAsync();
               }
               else
               {
                   httpContext.Response.StatusCode = 400; // Bad Request
                   httpContext.Response.Close();
               }
           }

       }
       catch
       {
           httpListener.Stop();
       }
   }

客户端代码

using ClientWebSocket webSocket = new ClientWebSocket();
Uri serverUri = new Uri("ws://113.168.76.1:8888/");
Console.WriteLine("Нажмите любую кнопку для соеденения");
Console.ReadKey();
Console.WriteLine("Подключение");
try
{
    // Подключение к серверу
    var sendBuffer = new ArraySegment<byte>(Encoding.UTF8.GetBytes("hello"));
    await webSocket.ConnectAsync(serverUri, CancellationToken.None);
    await webSocket.SendAsync(sendBuffer, WebSocketMessageType.Text, true, CancellationToken.None);
    Console.WriteLine("Подключено к серверу!");

    // Запуск задачи для получения сообщений
    await Recive();
    Console.ReadKey();
}
catch (Exception ex)
{
    Console.WriteLine($"Ошибка: {ex.Message}");
    Console.ReadKey();
}
c#
  • 1 个回答
  • 43 Views
Martin Hope
Иван Рудаков
Asked: 2023-03-12 03:03:02 +0000 UTC

带有图片的WPF Button,当展开到全屏时,图片爬行到中心

  • 5

按钮处于正常状态

在此处输入图像描述

如果我将表单扩展到全屏,那么按钮上的图片和文本就会爬到中心 在此处输入图像描述

代码

 <Button Style="{DynamicResource ButtonMenuRound}" Grid.Row="3" Margin="36,2,10,1" MinHeight="25" MaxHeight="45">
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
                <Image Source="Glavnaya.png" HorizontalAlignment="Left" Margin="-18,2,32,2"/>
                <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Margin="-19,0,30,3" FontSize="18">Главная</TextBlock>
            </StackPanel>
        </Button>

再试一次

<Button Style="{DynamicResource ButtonMenuRound}" Grid.Row="3" Margin="36,2,10,1" MinHeight="25" MaxHeight="45">
            <Grid ShowGridLines="True">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="auto"/>
                </Grid.ColumnDefinitions>
                <Image Source="Glavnaya.png" Grid.Column="0" HorizontalAlignment="Left" Margin="-56,2,0,2" Width="22"/>
                <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Margin="-19,0,0,0" Grid.Column="1" FontSize="18" Height="24" Width="65">Главная</TextBlock>
            </Grid>
        </Button>

但是 Grid 不填充 Button 并且不能按列拆分

先感谢您

c#
  • 1 个回答
  • 23 Views
Martin Hope
Иван Рудаков
Asked: 2023-03-07 19:19:11 +0000 UTC

C#WPF调整窗口大小的按钮

  • 5

告诉我如何让按钮的大小随着窗口的变化而变化

<Grid>
    <Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <DockPanel Grid.Column="0" Grid.Row="0" Width="Auto" Height="40" >
            <TextBlock Text="Example" FontSize="30" Margin="5,0,0,0"></TextBlock>
        </DockPanel>
        <DockPanel Grid.Column="1" Grid.Row="0" HorizontalAlignment="Right" Grid.ColumnSpan="1" Width="Auto" >
            <Button Style="{DynamicResource BtnStyle}" Foreground="White" x:Name="BtnStatistic" Content="Статистика" Margin="-355,5,0,0" Width="112"></Button>
            <Button Style="{DynamicResource BtnStyle}" Foreground="White" x:Name="BtnSetting" Grid.ColumnSpan="1" Content="Настройки" Margin="-122,5,0,0" Width="112"></Button>
        </DockPanel>
    </Grid>
</Grid>
c#
  • 1 个回答
  • 31 Views
Martin Hope
Иван Рудаков
Asked: 2022-05-07 01:32:14 +0000 UTC

C# DataGridview 在从数据加载数据后格式化所有行而不是正确的行

  • 0

大家好,datagridview 格式化所有行而不是条件中指定的行。我有一个 DataTabe 数据库,我从中加载数据 dataGridView1.DataSource = dataTable; 我在表单加载开始时像这样 dataTable.Rows.Add("What data is here") 填充数据表,我初始化列

            dataTable1.Columns.Add("1");
            dataTable1.Columns.Add("2");
            dataTable1.Columns.Add("3");
            dataTable1.Columns.Add("4");
            dataTable1.Columns.Add("5");
            dataTable1.Columns.Add("6");
            dataTable1.Columns.Add("7");
            dataTable1.Columns.Add("8");
            dataTable1.Columns.Add("9");
            dataTable1.Columns.Add("10");
            dataTable2 = dataTable1.Clone();
            dataGridView1.Columns["Column1"].DataPropertyName = "1";
            dataGridView1.Columns["Column2"].DataPropertyName = "2";
            dataGridView1.Columns["Column3"].DataPropertyName = "3";
            dataGridView1.Columns["Column4"].DataPropertyName = "4";
            dataGridView1.Columns["Column5"].DataPropertyName = "5";
            dataGridView1.Columns["Column6"].DataPropertyName = "6";
            dataGridView1.Columns["Column7"].DataPropertyName = "7";
            dataGridView1.Columns["Column8"].DataPropertyName = "8";
            dataGridView1.Columns["Column9"].DataPropertyName = "9";
            dataGridView1.Columns["Column10"].DataPropertyName = "10";

在 CellFormatung 事件中

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
                DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
                if (e.Value.GetType() != typeof(System.DBNull))
                {
                    if (Convert.ToString(e.Value) == "1")
                    {
                        for (int i = 0; i < dataGridView1.ColumnCount; i++)
                        {
                            //dataGridView1[i, e.RowIndex].Style.BackColor = Color.FromArgb(69, 84, 78);
                            //dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.FromArgb(69, 84, 78);
                            row.DefaultCellStyle.BackColor = Color.FromArgb(69, 84, 78);
                        }
                    }
                }

格式化时,我的整个datagridview都被格式化数据网格 了,只有那些单元格等于1的行才应该被格式化,在我添加了数据表之后,这才开始。在我没有使用数据库之前,一切都格式化好了在使用数据表之前

现在我无法在 datagridview 中获取所选行的索引

string Name = dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString();

这些是我开始从数据表加载数据时开始的问题。根据需要绑定此数据库或代码为什么停止工作?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Иван Рудаков
Asked: 2022-05-06 02:03:53 +0000 UTC

C# 提示与数据库更新逻辑的组织

  • 1

大家好 =) 我正在解析来自该站点的更新数据数据

我将它们存储在DataTable中,数据每秒更新一次,随机位置,在解析过程中,可以删除站点中的行或出现新的行,即无法绑定到id或索引. 对数据库没有太多经验,我几乎没有使用它们,我尝试过的没有成功。由于数据不稳定,每次都可以将新数据从数据库显示到datagridview,然后清空数据库,再次填充数据库,用这种方式更新时,datagridview的差异并不明显,似乎这是一个活表,即从站点更新。我试图在没有循环等的情况下做到这一点,它非常适合我。但是在主代码中却不是这样,数据库是按照原理填充的

for(int i =0; i <++)
 {
     for(int s =0; s <++) 
     {
     DataTableOne.Rows.Add("Здесь заношу данные");
     }
 }
dataGridView1.DataSource = DataTableOne; dataGridView1.Update(); 
DataTableOne.Clear(); //Было бы идеально, если так бд очищалась бы и заполнялась заново.

当主动改变datagrid中的数据时,看起来是活表,而是DataTableOne.Clear(); 清除数据库并且数据网格中的数据也被删除。我也尝试过使用这样的替换表

 flagRateTable = true;
    for(int i =0; i <++)
     {
         for(int s =0; s <++) 
         {
         DataTableOne.Rows.Add("Здесь заношу данные");
         DataTableTwo.Rows.Add("Здесь заношу данные");
         }
     }
if (flagRateTable)
                    {
                        DataTableTwo.Clear();
                        dataGridView1.DataSource = DataTableOne; dataGridView1.Update();                    
                        flagRateTable = false;
                    }
                    else
                    {
                        DataTableOne.Clear();
                        dataGridView1.DataSource = DataTableTwo; dataGridView1.Update();                    
                        flagRateTable = true;
                    }

逻辑上,如果flagRateTable为真,我清除第二个数据库,在dataGridView1中显示DataTableOne;如果flagRateTable为假,我清除第一个数据库,在dataGridView1中显示DataTableTwo。理论上,一切都应该工作,但相反,我显示了两个数据库,也就是说,与从 dataGridView1 清除的第一个示例一样,所有显示的数据都被删除,在第二个示例中,两个表都显示,一个一个清除,并且一起显示。提示逻辑以及如何更好地更新类似的数据库。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Иван Рудаков
Asked: 2022-05-02 15:39:24 +0000 UTC

C#比较两个列表和字符串中的唯一词

  • 1

大家好,有两个列表,您需要通过行中的唯一词来比较它们,例如,list1 有“Regotun D - Gnoevoy R”这一行,list2 有“Dmitry Regotun (Ukr) - Roman Gnoevoy (Ukr)行)"很明显它们是不同的,您需要进行比较,例如,如果您从第一个列表中获取姓氏 Regotun 或 Gnoeva,并在列表中查找匹配项并将结果写入输出中它们相等。我写了这么奇怪的代码,方法很糟糕,并没有显示所有内容。请告知如何完成此任务。

 List<string> list1 = new List<string>{"Реготун Д — Гноевой Р", "Клипперс — Денвер", "Хорнсби Ку Ринг Гай Спайдерс — Сидней Кометс"};
            List<string> list2 = new List<string>{"Дмитрий Реготун (Укр) — Роман Гноевой (Укр)", "Лос-Анджелес Клипперс — Денвер Наггетс с ОТ", "Хорнсби — Сидней Кометс с ОТ", "Реготун Д — Гноевой Р"};
            string result = "";
            foreach(var list1Res in list1)
            {
                    string[] Contains = list1Res.Split('—');
                    Console.WriteLine(Contains[0]);
                    foreach(var list2Res in list2)
                    {
                        if(list2Res.Contains(Contains[0]))
                        {
                            Console.WriteLine(list1Res + " list1 равен list2");
                        }
                    }
                }
c#
  • 1 个回答
  • 10 Views
Martin Hope
Иван Рудаков
Asked: 2022-05-01 00:51:14 +0000 UTC

CefSharp 获取 C# 页面源代码

  • 1

大家好,我想获取页面的源代码,但是 CeFSharp 在输出时为我打开了一个记事本,带有 html ... 告诉我如何修复它,以便仅在变量中输入数据。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
namespace Rate_Scanner
{
    public partial class FonbetForm : Form
    {
        ChromiumWebBrowser chrome;
        public FonbetForm()
        {
            InitializeComponent();
            InitializeChromeBrowser();
        }
        private void InitializeChromeBrowser()
        {
            CefSettings cefSettings = new CefSettings();
            Cef.Initialize(cefSettings);
            chrome = new ChromiumWebBrowser("https://www.youtube.com/watch?v=UOyYR72R7Ik");
            chrome.Dock = DockStyle.Fill;
            this.Controls.Add(chrome);
        }
        private string FonbetPage()
        {
            chrome.ViewSource();
            var html = "";
            chrome.GetSourceAsync().ContinueWith(taskHtml =>
            {
                 html = taskHtml.Result;
            });
            return html;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            FonbetPage();
        }
    }
}
c#
  • 1 个回答
  • 10 Views
Martin Hope
Иван Рудаков
Asked: 2020-05-12 01:08:11 +0000 UTC

c#如何并行化一个任务,使其运行三遍

  • 2

我创建了一个任务循环,结果我应该得到1下载2下载3下载但是我得到1下载1下载1下载也就是说,这些运行任务中的数据没有改变。我想得到结果,就像许多程序一样,在线程中运行,也就是说,一个任务被执行多次并且结果不同

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Leaf.xNet;
using System.Threading;
using System.IO;

namespace Создание_потоков
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private string Random_name()
        {
            string image = "";
            var r = new Random();
            while (image.Length < 12)
            {
                Char c = (char)r.Next(33, 125);
                if (Char.IsLetterOrDigit(c))
                    image += c;
            }
            return image;
        }
        void Download_Image()
        {
                string image_name = Random_name();
                HttpRequest request = new HttpRequest();
                request.KeepAlive = true;
                request.UserAgentRandomize();
                var bytes = request.Get("https://thiscatdoesnotexist.com/").ToBytes();
                File.WriteAllBytes(image_name + ".jpeg", bytes);
                Invoke((MethodInvoker)delegate { textBox1.AppendText(image_name + " Скачалась" + Environment.NewLine); });
        }
        private async void button1_Click(object sender, EventArgs e)
        {
            List<Task> tasks = new List<Task>(); // список задач
            for (int i = 0; i < 3; i++) // Добавляем циклом задачи, но выполняется как будто один развыполнилась, данные не меняются
            {

                tasks.Add(Task.Run(() => { Download_Image(); }));
            }
            await Task.WhenAll(tasks); // ждем всё
        }
    }
}
c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5