日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

采用TCPListener/TCPClient实现图片传输

發布時間:2025/4/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 采用TCPListener/TCPClient实现图片传输 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本概念

TCPClient:基于Tcp的客戶端封裝類,用于簡化Tcp客戶端的開發。主要通過構造帶入主機地址或者IPEndPonint對象,然后調用Connect進行和服務器點對點的連接,連接成功后通過GetStream方法返回NetworkStream對象。

TCPListener:基于Tcp的服務器端封裝類,用于監聽服務端或客戶端的連接請求。一旦有連接請求信息,立刻交給TcpClient的AcceptTcpClient方法捕獲,Start方法用于開始監聽。

服務器端代碼

private string address = "127.0.0.1"; private int port = 4321; private TcpListener listener;// 開始監聽 listener = new TcpListener(IPAddress.Parse(address), port); listener.Start();byte[] bStream = ReadImageFile("1.jpg"); // 一旦有客戶端連接上來,則發送圖片給客戶端while (true) {using (TcpClient client = listener.AcceptTcpClient()){Console.WriteLine("Connected");NetworkStream nStream = client.GetStream();try{nStream.Write(bStream, 0, bStream.Length);}catch (SocketException e1){Console.WriteLine("SocketException: " + e1);}}}

將圖片轉成字節流

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();GC.ReRegisterForFinalize(fileinfo);GC.ReRegisterForFinalize(fs);return buf; }

客戶端代碼

IPAddress ipAddress = IPAddress.Parse("127.0.0.1");using (TcpClient client = new TcpClient()){client.Connect(ipAddress, 4321);label1.Text = "Connected...";NetworkStream nNetStream = client.GetStream();Image returnImage = Image.FromStream(nNetStream);pictureBox1.Image = returnImage;}

?

總結

以上是生活随笔為你收集整理的采用TCPListener/TCPClient实现图片传输的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。