时间:2021-05-20
本文实例讲述了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, 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 (); } }}希望本文所述对大家的C#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面的示例显示如何使用Socket类向HTTP服务器发送数据和接收响应。[C#]publicstringDoSocketGet(stringserver){//
本文实例讲述了C#使用post发送和接收数据的方法。分享给大家供大家参考。具体实现方法如下:publicpartialclassPost_Server:Syst
本文实例讲述了C#远程发送和接收数据流生成图片的方法。分享给大家供大家参考。具体如下:将图片转成数据流方式发送到远程服务,在通过服务器后台程序来接收数据流,再保
本文实例讲述了C#使用Socket上传并保存图片的方法。分享给大家供大家参考。具分析如下:使用stringfilename=openFile.FileName;
C++发邮件用的是阻塞式socket模型,发送完数据后需要接收返回值,才能接着发送。本程序不发送邮件附件,发附件的实例:C++实现含附件的邮件发送功能#incl