ITPub博客

首页 > 应用开发 > IT综合 > C#使用Socket收发图片代码

C#使用Socket收发图片代码

原创 IT综合 作者:qianc8015 时间:2015-04-02 16:03:49 0 删除 编辑
服务端发送图片的代码:
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, 0, 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, SocketType.Stream, 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, buffer.Length, 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, 0, buffer.Length);       fs.Close ();       Console.ReadKey ();     }   } } 
代码来自codego.net

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30187584/viewspace-1483504/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-04-02

  • 博文量
    2
  • 访问量
    7845