基本信息
源码名称:TCP简单文件传输源码(含发送端以及接收端)
源码大小:0.11M
文件格式:.zip
开发语言:C#
更新时间:2019-10-17
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.IO; namespace 使用Tcp协议传输文件 { public partial class 发送端 : Form { private TcpClient tcpclient; private FileStream fs; private NetworkStream ns; public 发送端() { InitializeComponent(); } private void btn_Select_Click(object sender, EventArgs e) { OpenFileDialog ofdialog = new OpenFileDialog(); if(ofdialog.ShowDialog()==DialogResult.OK) { label1.Text = ofdialog.FileName; } } private void btn_Send_Click(object sender, EventArgs e) { if(txtBox_IPAddress.Text.Equals("")) { MessageBox.Show("输入IP地址"); return; } if(label1.Text.Equals("文件路径:")) { MessageBox.Show("请选择一个文件"); return; } tcpclient =new TcpClient(); tcpclient.BeginConnect(IPAddress.Parse(txtBox_IPAddress.Text), 8080, new AsyncCallback((IAsyncResult Iar) => { this.tcpclient = (TcpClient)Iar.AsyncState; this.tcpclient.EndConnect(Iar); if (this.tcpclient.Connected) { MessageBox.Show("连接成功,现在开始传输"); try { using (ns = this.tcpclient.GetStream()) { fs = new FileStream(label1.Text, FileMode.Open); byte[] buffer = new byte[1024]; fs.Read(buffer, 0, buffer.Length); int len = fs.Read(buffer, 0, buffer.Length); while (len > 0) { ns.Write(buffer, 0, len); len = fs.Read(buffer, 0, buffer.Length); } fs.Close(); } tcpclient.Close();//关闭连接 ns = null; tcpclient = null;//初始化 } catch (Exception SEND_ERROR) { MessageBox.Show("遇到 " SEND_ERROR.Message "\n 传输失败 "); tcpclient.Close(); tcpclient = null;//初始化 } } }) , tcpclient); } } }