加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#通过Socket在网络间发送和接收图片的演示代码

发布时间:2020-12-15 17:57:02 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 C#通过Socket在网络间发送和接收图片的演示代码 using System;using System.Collections.Generic;using System.Text;using System.Net.Sockets;using

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

C#通过Socket在网络间发送和接收图片的演示代码
 using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;
 
namespace ConsoleApplication1
{
    Class Program
    {
        static void Main (String[] args)
        {
            // 1. to create a socket
            Socket sListen = new Socket (AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
 
            // 2. Fill IP
            IPAddress IP = IPAddress.Parse ("127.0.0.1");
            IPEndPoint IPE = new IPEndPoint (IP,4321);
 
            // 3. binding
            sListen.Bind (IPE);
 
            // 4. Monitor
            Console.WriteLine ("Service is listening ...");
            sListen.Listen (2);
 
            // 5. loop to accept client connection requests
            while (true)
            {
                Socket clientSocket;
                try
                {
                    clientSocket = sListen.Accept ();
                }
                catch
                {
                    throw;
                }
 
                // send data to the client
                //clientSocket.Send (Encoding.Unicode.GetBytes ("I am a server,you there?? !!!!"));
 
                // send the file
                byte[] buffer = ReadImageFile ("1.jpg");
                clientSocket.Send (buffer,buffer.Length,SocketFlags.None);
                Console.WriteLine ("Send success!");
            }
        }
 
        private static byte[] ReadImageFile (String img)
        {
            FileInfo fileinfo = new FileInfo (img);
            byte[] buf = new byte[fileInfo.Length];
            FileStream fs = new FileStream (img,FileMode.Open,FileAccess.Read);
            fs.Read (buf,buf.Length);
            fs.Close ();
            //fileInfo.Delete ();
            GC.ReRegisterForFinalize (fileinfo);
            GC.ReRegisterForFinalize (fs);
            return buf;
        }
 
    }
}



 
客户端接收和保存图片的代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;
 
namespace ConsoleApplication2
{
    Class Program
    {
        static void Main (String[] args)
        {
            // 1. to create a socket
            Socket S = new Socket (AddressFamily.InterNetwork,ProtocolType.Tcp);
 
            // 2. fill in the remote IP
            IPAddress IP = IPAddress.Parse ("127.0.0.1");
            IPEndPoint IPE = new IPEndPoint (IP,4321);
 
            Console.WriteLine ("started connection service ....");
            // 3. connect to the server
            s.Connect (IPE);
 
            // 4. receive data
            byte[] buffer = new byte[1000000];
            s.Receive (buffer,SocketFlags.None);
            //var Msg = Encoding.Unicode.GetString (buffer);
            //Console.WriteLine ("received message: (0)",msg);
            Console.WriteLine ("Receive success");
 
            FileStream fs =  File.Create ("1.jpg");
            fs.Write (buffer,buffer.Length);
            fs.Close ();
 
            Console.ReadKey ();
        }
    }
}
 

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读