powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не отображаются переданные данные - C#
25 сообщений из 33, страница 1 из 2
не отображаются переданные данные - C#
    #39249540
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите в чем проблема
передаю данные по сети успешно без ошибок
принимаются вроде тоже
но вместо картинки получаю пустой файл или док-т, должен быть логотип а вместо этого белый экран
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
int df = strData.Length - 3;
                            strData = strData.Substring(3, df);
                            if (Writing == null)
                            {
                                Writing = File.OpenWrite(path1 + "\" + nam);
                                byte[] Buffer = new byte[65535];
 
                                string base64string = Convert.ToBase64String(Encoding.UTF8.GetBytes(strData));
                                Buffer = Convert.FromBase64String(base64string);
                               
                                Writing.Write(Buffer, 0, Buffer.Length);
                            }
                            else
                            {
                                int dfdfd = strData.Length;
                                byte[] Buffer = new byte[65535];/////
 
                                string base64string = Convert.ToBase64String(Encoding.UTF8.GetBytes(strData));
                                Buffer = Convert.FromBase64String(base64string);                             
 
                                Writing.Write(Buffer, 0, Buffer.Length);///////
                            }
                            if (strData.Length < 65535) Writing.Close();
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249546
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При повторной попытке что то скачать вообще ничего не происходит как будто и не пыталась
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249604
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Emiliya_Emili
Код: c#
1.
 Writing = File.OpenWrite(path1 + "\" + nam);



Writing = File.OpenWrite(path1 + "\" + nam);


Код: c#
1.
 Writing = File.OpenWrite(Path.Combine(path1, nam));
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249700
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, все равно в файле ничего не отображается
он создается размер не 0
а внутри ничего
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249713
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emiliya_Emili
Код: c#
1.
2.
3.
 
                                string base64string = Convert.ToBase64String(Encoding.UTF8.GetBytes(strData));
                                Buffer = Convert.FromBase64String(base64string);  



Какие-то подозрительные манипуляции
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249725
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,

изначально была лишь эта строка
Код: c#
1.
  Buffer = Convert.FromBase64String(base64string);  



но мне выдавалась ошибка на ней
записав таким образом ошибка исчезла
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249742
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emiliya_Emili,

а что вообще изначально в strData? и собственно почему вы переданные данные берете в виде строки, а не сразу в виде массива байт?
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249753
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как может в C#, что то отображаться? ну я понимаю там, на форме, в консоле.
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249760
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,
в переменной всегда переданные данные в виде строки которая потом разбивается на массив данных с которыми что-то делается
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249764
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще в коде какой-то бред, код выкинуть на помойку, оставить что-то такое
Код: c#
1.
2.
3.
4.
5.
6.
var bytes = Encoding.GetBytes(strData);
const int offset = 3;
using (var stream = new FileStream(path, FileMode.Append))
    {
        stream.Write(bytes, offset, bytes.Length);
    }
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249771
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris
Код: c#
1.
var bytes = Encoding.GetBytes(strData);



на этой строке пишет "для нестатического поля требуется ссылка на объект"
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249776
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Encoding.Default.GetBytes(...)

Стало интересно, с какой целью пишете программу, кто заставляет?
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249777
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,
и все та же проблема новый файл создается только в нем ничего нет
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249778
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, и в строке strData ничего нет?
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249780
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,
в переменной данные есть это уже проверяла
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249781
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
изначально в приеме использовалась такая строка
/byte[] Buffer = Convert.FromBase64String(strData);

первый раз работала
на другой компьютер перенесла программу и пошли ошибки
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249782
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
например такая
"Недопустимая длина строки или массива знаков Base-64."
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249783
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emiliya_EmiliPallaris,
в переменной данные есть это уже проверяла

ну попробуй тогда вообще так, чо там будет
Код: c#
1.
File.AppendAllText(path, strData);
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249785
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажи вообще полный текст метода, а не кусок
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249789
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,
FileStream Writing = null;
string nam = ""; int size = 0;
private void btnConnect_Click(object sender, EventArgs e)//кнопка клиент
{
localClient = new TcpClient();
localClient.Connect("127.0.0.1", 6785);
thClient = new Thread(() =>
{
byte[] buffer = new byte[65538];
while (localClient.Connected)
{
Array.Clear(buffer, 0, buffer.Length);
localClient.GetStream().Read(buffer, 0, 65538);
string strData = Encoding.Default.GetString(buffer);
var messege = strData.Substring(0, 3);
this.Invoke((Action)(() =>
{
if (messege == soob)
{
int b = strData.IndexOf("\0");
b = b - 3;
strData = strData.Substring(3, b);
listView1.Clear();
string[] tx = strData.Split('/');
foreach (string s in tx)
{
listView1.Items.Add(s, 1);
ls.Add(s);
}
}
else if (messege == info)
{
int b = strData.IndexOf("\0");
b = b - 3;
strData = strData.Substring(3, b);
string[] tx = strData.Split('@');
nam = tx[0];
size = Convert.ToInt32(tx[1]+5);
textBox1.Text = tx[0];
textBox2.Text = tx[1];
}
else if (messege == fail)
{
int df = strData.Length - 3;
strData = strData.Substring(3, df);

if (Writing == null)
{
Writing = File.OpenWrite(Path.Combine(path1, nam));
}
byte[] Buffer = Encoding.Unicode.GetBytes(strData);
//byte[] Buffer = new byte[65535];
//Buffer = Convert.FromBase64String(strData);
Writing.Write(Buffer, 0, Buffer.Length);
}
}));
}
});
thClient.Start();
SendData(soob, GetLocDir());
}
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249792
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,

мне нужно не текст записывать в документ а передавать по сети картинки видео- и аудиофайлы
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249799
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нормально код оформи.

текст запись нужно, чтоб понять, обманываешь ты меня насчет пустой строки или нет
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249800
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris, это весь код
проблема в том что файл создается а внутри ничего хотя размер не 0
Код: 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.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private TcpListener Server;
        private TcpClient remoteClient; private TcpClient localClient;
        private Thread thClient; private Thread thServer;

        const string soob = "001";
        const string info = "002";
        const string fail = "003";

        private void btnServer_Click(object sender, EventArgs e)//кнопка сервер
        {
            Server = new TcpListener(IPAddress.Any, 6785);
            Server.Start();        
            thServer = new Thread(() =>
            {
                remoteClient = Server.AcceptTcpClient();
                SendData(soob, GetLocDir());
                byte[] buffer = new byte[2048];

                while (remoteClient.Connected)
                {
                    Array.Clear(buffer, 0, buffer.Length);
                    remoteClient.GetStream().Read(buffer, 0, buffer.Length);
                    string strData = Encoding.Default.GetString(buffer);                
                    int b = strData.IndexOf("\0");
                    b = b - 3;
                    var messege = strData.Substring(0, 3);
                    strData = strData.Substring(3, b);
                    this.Invoke((Action)(() =>
                    {
                        if (messege == soob)
                        {
                            try
                            {
                                string poddir = String.Join("/", Directory.GetDirectories(strData));
                                string file = String.Join("/", Directory.GetFiles(strData));
                                SendData(soob, poddir + "/" + file);
                            }
                            catch (Exception) { }
                        }
                        else if (messege == info)
                        {                           
                            FileInfo inf = new FileInfo(strData);
                            SendData(info, inf.Name + "@" + Convert.ToString(inf.Length));

                            FileStream Stream = File.OpenRead(strData);
                            byte[] Buffer = new byte[65535];
                            int BytesRead = -1;
                            while (BytesRead != 0)
                            {
                                BytesRead = Stream.Read(Buffer, 0, 65535);
                                SendData(fail, Convert.ToBase64String(Buffer));
                            }
                            Stream.Close();                  
                        }                       
                    }));
                }
            });
            thServer.Start();
        }

        FileStream Writing = null;
        string nam = ""; int size = 0;
        private void btnConnect_Click(object sender, EventArgs e)//кнопка клиент
        {
            localClient = new TcpClient();
            localClient.Connect("127.0.0.1", 6785);
            thClient = new Thread(() =>
            {
                byte[] buffer = new byte[65538];
                while (localClient.Connected)
                {
                    Array.Clear(buffer, 0, buffer.Length);
                    localClient.GetStream().Read(buffer, 0, 65538);
                    string strData = Encoding.Default.GetString(buffer);
                    var messege = strData.Substring(0, 3);
                    this.Invoke((Action)(() =>
                    {
                        if (messege == soob)
                        {
                            int b = strData.IndexOf("\0");
                            b = b - 3;
                            strData = strData.Substring(3, b);
                            listView1.Clear();
                            string[] tx = strData.Split('/');
                            foreach (string s in tx)
                            {
                                listView1.Items.Add(s, 1);
                                ls.Add(s);
                            }
                        }
                        else if (messege == info)
                        {
                            int b = strData.IndexOf("\0");
                            b = b - 3;
                            strData = strData.Substring(3, b);
                            string[] tx = strData.Split('@');
                            nam = tx[0];
                            size = Convert.ToInt32(tx[1]+5);
                            textBox1.Text = tx[0];
                            textBox2.Text = tx[1];
                        }
                        else if (messege == fail)
                        {
                            //byte[] Buffer = Convert.FromBase64String(strData);
                            int df = strData.Length - 3;
                            strData = strData.Substring(3, df);
                            if (Writing == null)
                            {
                                Writing = File.OpenWrite(Path.Combine(path1, nam));
                            }
                            byte[] Buffer = Encoding.Unicode.GetBytes(strData);                            
                            Writing.Write(Buffer, 0, Buffer.Length);
                            if (strData.Length < 65535) Writing.Close();
                        }                        
                    }));
                }
            });
            thClient.Start();
            SendData(soob, GetLocDir());
        }

        public void btnDisplay_Click(object sender, EventArgs e)
        {
            SendData(soob, GetLocDir());
        }  

        public static string path1;
        private void btnDownload_Click(object sender, EventArgs e)//загрузка файла
        {            
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                ListViewItem item = listView1.SelectedItems[0];
                SendData(info, item.Text);
                path1 = folderBrowserDialog1.SelectedPath;
            }
        }
        
        private void listView1_ItemActivate(object sender, EventArgs e)
        {
            ListViewItem item = listView1.SelectedItems[0];
            SendData(soob, item.Text);
        }
             
        List<string> ls = new List<string>();
     
        public static string GetLocDir()
        {
            string dir = String.Join("/", Environment.GetLogicalDrives());
            return dir;
        }

        public void SendData(string kod, string infoToSend)
        {
            byte[] dataToSend = Encoding.Default.GetBytes(kod + infoToSend);
            if (localClient != null && localClient.Connected)
            {
                localClient.GetStream().Write(dataToSend, 0, dataToSend.Length);
            }
            else if (remoteClient != null && remoteClient.Connected)
            {
                remoteClient.GetStream().Write(dataToSend, 0, dataToSend.Length);
            }
        }    
     }
}
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249833
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда один совет - воспользоваться дебаггером
...
Рейтинг: 0 / 0
не отображаются переданные данные - C#
    #39249876
Emiliya_Emili
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,
уже пробовала но ни как не помогло
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / не отображаются переданные данные - C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]