Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
4 / 6 / 5
Регистрация: 03.12.2013
Сообщений: 174
1

Как исправить "преобразование типа из "string" в "System.Net.IPEndPoint" невозможно"?

12.04.2017, 21:53. Просмотров 1632. Ответов 7
Метки нет (Все метки)

Здравствуйте, не могу отправить массив байт, может кто-то знает как правильно записать ip.
При компилировании получаю такую ошибку:
преобразование типа из "string" в "System.Net.IPEndPoint" невозможно
Ошибка на 103 строке

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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 System.Drawing.Imaging;
using System.Net.Sockets;
using System.IO;
 
 
namespace WindowsFormsApplication7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
        private bool isCalled = false;
 
        private void button1_Click(object sender, EventArgs e)
        {
            pictureBox1.Image = ImageFromScreen();
        }
 
 
        public Bitmap ImageFromScreen()
        {
            Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            using (var gr = Graphics.FromImage(bmp))
            {
                gr.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y,0, 0, Screen.PrimaryScreen.Bounds.Size);
            }
            return bmp;
        }
 
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
        }
 
 
        }
        private byte[] ConvertToByte(Bitmap bmp)
        {
            MemoryStream memoryStream = new MemoryStream();
            // Конвертируем в массив байтов с сжатием Jpeg
            bmp.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            return memoryStream.ToArray();
        }
        private List<byte[]> CutMsg(byte[] bt)
        {
 
            int Lenght = bt.Length;
            byte[] temp;
            List<byte[]> msg = new List<byte[]>();
 
            MemoryStream memoryStream = new MemoryStream();
            // Записываем в первые 2 байта количество пакетов
            memoryStream.Write(
                      BitConverter.GetBytes((short)((Lenght / 65500) + 1)), 0, 2);
            // Далее записываем первый пакет
            memoryStream.Write(bt, 0, bt.Length);
 
            memoryStream.Position = 0;
            // Пока все пакеты не разделили - делим КЭП
            while (Lenght > 0)
            {
                temp = new byte[65500];
                memoryStream.Read(temp, 0, 65500);
                msg.Add(temp);
                Lenght -= 65500;
            }
 
            return msg;
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
 
            pictureBox1.Image = null;
            pictureBox1.Image = ImageFromScreen();
 
            Bitmap BackGround = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            Graphics graphics = Graphics.FromImage(BackGround);
 
            graphics.CopyFromScreen(0, 0, 0, 0, new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
 
            string ipEndPoint = "8.8.8.8";
 
      //      udpClient = new UdpClient();
            byte[] bytes = ConvertToByte(ImageFromScreen());
            List<byte[]> lst = CutMsg(bytes);
            for (int i = 0; i < lst.Count; i++)
            {
                // Отправляем картинку клиенту
                UdpClient.Send(lst[i], lst[i].Length, ipEndPoint);
            }
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2017, 21:53
Ответы с готовыми решениями:

Как исправить ошибку: Неявное преобразование типа "void" в "string" невозможно?
Как исправить ошибку в label3.Text=F(2, n, 0, m, a);//начальный делитель, число, начало массива,...

Ошибка Неявное преобразование типа "System.Windows.Forms.DialogResult" в "bool?" невозможно
private void button2_Click(object sender, EventArgs e) { // Configure save...

Неявное преобразование типа "int" в "System.Windows.Forms.TextBox" невозможно
Работаю понятное дело в Win Forms Подумал сделать небольшую калькуляционную программу, но вот...

Неявное преобразование типа "int" в "System.Windows.Forms.TextBox" невозможно
Помогите! Я новичок в C#. Хочу сделать переводчик. Вот код. using System; using...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
7
Администратор
Эксперт .NET
13148 / 10710 / 4419
Регистрация: 17.03.2014
Сообщений: 21,575
Записей в блоге: 1
12.04.2017, 22:59 2
Skelk0, добавляем using System.Net; и меняем строку №95 на
C#
1
2
const int myPort = ???; // Номер порта получателя
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("8.8.8.8"), myPort);
1
4 / 6 / 5
Регистрация: 03.12.2013
Сообщений: 174
13.04.2017, 10:48  [ТС] 3
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Skelk0, добавляем using System.Net; и меняем строку №95 на
C#
1
2
const int myPort = ???; // Номер порта получателя
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("8.8.8.8"), myPort);
Для нестатического поля, метода или свойства "System.Net.Sockets.UdpClient.Send(byte[], int, System.Net.IPEndPoint)" требуется ссылка на объект

скрин
Как исправить "преобразование типа из "string" в "System.Net.IPEndPoint" невозможно"?
0
Администратор
Эксперт .NET
13148 / 10710 / 4419
Регистрация: 17.03.2014
Сообщений: 21,575
Записей в блоге: 1
13.04.2017, 10:56 4
Skelk0, метод UdpClient.Send() является экземплярным, а ты пытаешься вызвать его так как будто он статический.
1
4 / 6 / 5
Регистрация: 03.12.2013
Сообщений: 174
13.04.2017, 11:54  [ТС] 5
Что нужно сделать?
0
Администратор
Эксперт .NET
13148 / 10710 / 4419
Регистрация: 17.03.2014
Сообщений: 21,575
Записей в блоге: 1
13.04.2017, 12:04 6
Skelk0, прочитать документацию по классу UdpClient чтобы понять как им пользоваться и какую-нибудь книгу для начинающих чтобы не попадать в тупик с элементарными вопросами.
1
4 / 6 / 5
Регистрация: 03.12.2013
Сообщений: 174
13.04.2017, 19:02  [ТС] 7
Немного точнее можно?
0
Администратор
Эксперт .NET
13148 / 10710 / 4419
Регистрация: 17.03.2014
Сообщений: 21,575
Записей в блоге: 1
14.04.2017, 11:56 8
Skelk0, как-то так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private void timer1_Tick(object sender, EventArgs e)
{
    pictureBox1.Image = null;
    pictureBox1.Image = ImageFromScreen();
 
    Bitmap BackGround = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
    Graphics graphics = Graphics.FromImage(BackGround);
 
    graphics.CopyFromScreen(0, 0, 0, 0, new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
 
    using (var udpClient = new UdpClient())
    {
        string ipEndPoint = "8.8.8.8";
        const int myPort = ???; // Номер порта получателя
        IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("8.8.8.8"), myPort);
        udpClient.Connect(ipEndPoint);
 
        byte[] bytes = ConvertToByte(ImageFromScreen());
        List<byte[]> lst = CutMsg(bytes);
        for (int i = 0; i < lst.Count; i++)
        {
            // Отправляем картинку клиенту
            UdpClient.Send(lst[i], lst[i].Length);
        }
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2017, 11:56

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Неявное преобразование типа "string" в "bool" невозможно быстренько подскажите лез
боол использовал только при создании формы авторизации, как исправить здесь ошибку, подскажите...

Оператор "==" невозможно применить к операнду типа "string" и "группа методов"
Хотел проверить на пустую строку, а у меня тут такая ошибка. Вот мой код: sheetDisc =...

Ошибка: Оператор "<" невозможно применить к операндам типа "string" и "int"
Дело в чём. Хочу сделать так, чтобы Количество букв из текстбокса не было меньше 6 знаков. if...

Ошибка: Неявное преобразование типа "int" в "string" невозможно
Фрагмент моего кода: int kol = 0; int u = 4; string s; private void button1_Click(object...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.