C#使用Socket实现发送和接收图片的方法
本文实例讲述了C#使用Socket实现发送和接收图片的方法。分享给大家供大家参考。具体如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Net.Sockets;
usingSystem.Net;
usingSystem.IO;
namespaceConsoleApplication1
{
ClassProgram
{
staticvoidMain(String[]args)
{
//1.tocreateasocket
SocketsListen=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//2.FillIP
IPAddressIP=IPAddress.Parse("127.0.0.1");
IPEndPointIPE=newIPEndPoint(IP,4321);
//3.binding
sListen.Bind(IPE);
//4.Monitor
Console.WriteLine("Serviceislistening...");
sListen.Listen(2);
//5.looptoacceptclientconnectionrequests
while(true)
{
SocketclientSocket;
try
{
clientSocket=sListen.Accept();
}
catch
{
throw;
}
//senddatatotheclient
//clientSocket.Send(Encoding.Unicode.GetBytes("Iamaserver,youthere??!!!!"));
//sendthefile
byte[]buffer=ReadImageFile("1.jpg");
clientSocket.Send(buffer,buffer.Length,SocketFlags.None);
Console.WriteLine("Sendsuccess!");
}
}
privatestaticbyte[]ReadImageFile(Stringimg)
{
FileInfofileinfo=newFileInfo(img);
byte[]buf=newbyte[fileInfo.Length];
FileStreamfs=newFileStream(img,FileMode.Open,FileAccess.Read);
fs.Read(buf,0,buf.Length);
fs.Close();
//fileInfo.Delete();
GC.ReRegisterForFinalize(fileinfo);
GC.ReRegisterForFinalize(fs);
returnbuf;
}
}
}
客户端接收和保存图片的代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Net.Sockets;
usingSystem.Net;
usingSystem.IO;
namespaceConsoleApplication2
{
ClassProgram
{
staticvoidMain(String[]args)
{
//1.tocreateasocket
SocketS=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//2.fillintheremoteIP
IPAddressIP=IPAddress.Parse("127.0.0.1");
IPEndPointIPE=newIPEndPoint(IP,4321);
Console.WriteLine("startedconnectionservice....");
//3.connecttotheserver
s.Connect(IPE);
//4.receivedata
byte[]buffer=newbyte[1000000];
s.Receive(buffer,buffer.Length,SocketFlags.None);
//varMsg=Encoding.Unicode.GetString(buffer);
//Console.WriteLine("receivedmessage:(0)",msg);
Console.WriteLine("Receivesuccess");
FileStreamfs=File.Create("1.jpg");
fs.Write(buffer,0,buffer.Length);
fs.Close();
Console.ReadKey();
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
10 远方同事回家祝福语简短
11 周末新人祝福语短句简短
12 给姐妹乔迁祝福语简短
13 送去考试祝福语简短英文
14 现代祝福语简短独特女
15 周末祝福语简短老师的话
16 外婆祝福语短句唯美简短
17 离校发给老师祝福语简短
18 高考祝福语简短给自己