我想将图像从服务器发送到客户端 [英] I want to send image from server to client

查看:301
本文介绍了我想将图像从服务器发送到客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将图像从服务器发送到客户端。服务器发送了图像,但客户端没有显示它..我的代码有问题。

有人可以帮我吗。



我尝试过:



server \\

 private void button6_Click(object sender,EventArgs e)
{
try
{
Image img = Image.FromFile(D:\\\\ .jpg);
MemoryStream ms = new MemoryStream();
img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
bytes = ms.ToArray();
acc.Send(bytes,0,bytes.Length,0);
MessageBox.Show(ok);
}
catch
{
MessageBox.Show(Failure ....);
}

}



client \\

试试
{
sock.Connect(new IPEndPoint(IPAddress.Parse(textBox3.Text),3));

new Thread(()=>
{
read();
})。Start();


}
catch
{
MessageBox.Show(failure);
}


}

void read()
{
而(true)
{
try
{

byte [] buffer = new byte [255];
int rec = sock.Receive(buffer,0,buffer.Length,0);
if(rec< = 0)
{
抛出新的SocketException();
}
Array.Resize(ref buffer,rec);
Invoke((MethodInvoker)委托
{

MemoryStream imgstream = new MemoryStream(buffer);
Image imgfromstream = Image.FromStream(imgstream);
pictureBox1.Image = imgfromstream;


});

}
catch
{
MessageBox.Show(Disconcting);
sock.Close();
休息;
}

}
Application.Exit();
}

解决方案

套接字代码示例| Microsoft Docs [ ^ ]

I am trying to send an image from the server to the client. the server sent the image but the client doesn't display it ..I have a problem with the code.
can anyone help me, please.

What I have tried:

server\\

private void button6_Click(object sender, EventArgs e)
        {
            try
            {
                Image img = Image.FromFile("D:\\1.jpg");
                MemoryStream ms = new MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                bytes = ms.ToArray();
                acc.Send(bytes, 0, bytes.Length, 0);
                MessageBox.Show("ok");
            }
            catch
            {
                MessageBox.Show("Failure....");
            }
            
        }


client\\

try
            {
                sock.Connect(new IPEndPoint(IPAddress.Parse(textBox3.Text), 3));
                
                new Thread(() =>
                {
                    read();
                }).Start();


            }
            catch
            {
                MessageBox.Show("failure");
            }


        }

        void read()
        {
            while (true)
            {
                try
                {

                    byte[] buffer = new byte[255];
                    int rec = sock.Receive(buffer, 0, buffer.Length, 0);
                    if (rec <= 0)
                    {
                        throw new SocketException();
                    }
                    Array.Resize(ref buffer, rec);
                    Invoke((MethodInvoker)delegate
                    {
                        
                        MemoryStream imgstream = new MemoryStream(buffer);
                        Image imgfromstream = Image.FromStream(imgstream);
                        pictureBox1.Image = imgfromstream;


                    });

                }
                catch
                {
                    MessageBox.Show("Disconcting");
                    sock.Close();
                    break;
                }

            }
            Application.Exit();
        }

解决方案

Socket Code Examples | Microsoft Docs[^]


这篇关于我想将图像从服务器发送到客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆