資源簡介
C#實現局域網文件傳送
服務器端和客戶端

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Net;
using?System.Threading;
using?System.Net.Sockets;
using?System.IO;
namespace?TestSocketServerHSTF
{
public?partial?class?Form1?:?Form
{
????????//IPEndPoint?ipep;
????????//Socket?client;
????????//IPEndPoint?clientep;
public?Form1()
{
InitializeComponent();
dataGridView1.AllowUserToAddRows?=?false;
}
private?void?StartReceive()
{
????????????string?dp?=?textBox1.Text;
???????????
//創建一個網絡端點
????????????IPEndPoint?ipep?=?new?IPEndPoint(IPAddress.Any?int.Parse(dp));//*************************************
????????????//創建一個套接字
????????????Socket?server?=?new?Socket(AddressFamily.InterNetwork?SocketType.Stream?ProtocolType.Tcp);
????????????//綁定套接字到端口
????????????server.Bind(ipep);
????????????//開始偵聽(并堵塞該線程)
????????????server.Listen(0);
????????????//確認連接
????????????Socket?client?=?server.Accept();
????????????//獲得客戶端節點對象
????????????IPEndPoint?clientep?=?(IPEndPoint)client.RemoteEndPoint;
//獲得[文件名]
string?SendFileName?=?System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));
//MessageBox.Show(“文件名“?+?SendFileName);
//獲得[包的大小]
string?bagSize?=?System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));
//MessageBox.Show(“包大小“?+?bagSize);
//獲得[包的總數量]
int?bagCount?=?int.Parse(System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client)));
//MessageBox.Show(“包的總數量“?+?bagCount);
//獲得[最后一個包的大小]
string?bagLast?=?System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));
//MessageBox.Show(“最后一個包的大小“?+?bagLast);
//創建一個新文件
FileStream?MyFileStream?=?new?FileStream(SendFileName?FileMode.Create?FileAccess.Write);
????????????MessageBox.Show(SendFileName+“已經接受!“);
//已發送包的個數
int?SendedCount?=?0;
while?(true)
{
????????????????byte[]?data?=?TransferFiles.ReceiveVarData(client);
if?(data.Length?==?0)
{
break;
}
else
{
SendedCount++;
//將接收到的數據包寫入到文件流對象
MyFileStream.Write(data?0?data.Length);
}
}
//關閉文件流
MyFileStream.Close();
//關閉套接字
client.Close();
//填加到dgv里
//文件大小,IP,已發送包的個數,文件名,包的總量,最后一個包的大小
this.dataGridView1.Rows.Add(bagSize?clientep.Address?SendedCount?SendFileName?bagCount?bagLast);
???????????
}
????????///?
????????///?關閉
????????///?
????????///?
????????///?
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????Application.Exit();?
????????}
????????///?
????????///?加載
????????///?
????????///?
????????///?
????????private?void?Form1_Load(object?sen
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-03-28?01:16??文件傳送\
?????目錄???????????0??2011-03-28?01:16??文件傳送\TestSocketServerHSTF\
?????目錄???????????0??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\
?????文件?????????949??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF.sln
?????文件???????16384??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF.suo
?????目錄???????????0??2011-03-28?01:16??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\bin\
?????目錄???????????0??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\bin\Debug\
?????文件???????24576??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\bin\Debug\TestSocketServerHSTF.exe
?????文件???????26112??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\bin\Debug\TestSocketServerHSTF.pdb
?????文件????????5632??2005-11-11?22:25??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\bin\Debug\TestSocketServerHSTF.vshost.exe
?????文件????????3334??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Form1.cs
?????文件????????6947??2011-03-28?11:55??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Form1.Designer.cs
?????文件????????7478??2011-03-28?11:55??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Form1.resx
?????目錄???????????0??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\
?????目錄???????????0??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\
?????目錄???????????0??2008-10-23?16:48??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\TempPE\
?????文件?????????842??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\TestSocketServerHSTF.csproj.GenerateResource.Cache
?????文件???????24576??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\TestSocketServerHSTF.exe
?????文件?????????180??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\TestSocketServerHSTF.Form1.resources
?????文件???????26112??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\TestSocketServerHSTF.pdb
?????文件?????????180??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\Debug\TestSocketServerHSTF.Properties.Resources.resources
?????文件?????????359??2008-10-23?16:42??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\TestSocketServerHSTF.csproj.FileList.txt
?????文件?????????999??2011-03-28?11:57??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\obj\TestSocketServerHSTF.csproj.FileListAbsolute.txt
?????文件?????????401??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Program.cs
?????目錄???????????0??2011-03-28?01:16??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Properties\
?????文件????????1188??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Properties\AssemblyInfo.cs
?????文件????????2547??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Properties\Resources.Designer.cs
?????文件????????5612??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Properties\Resources.resx
?????文件????????1026??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Properties\Settings.Designer.cs
?????文件?????????249??2008-10-23?15:10??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\Properties\Settings.settings
?????文件????????3291??2008-10-23?15:20??文件傳送\TestSocketServerHSTF\TestSocketServerHSTF\TestSocketServerHSTF.csproj
............此處省略39個文件信息
評論
共有 條評論