c# winform socket网络编程,点对点传输文件,socket文件.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:28 大小:153KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

c# winform socket网络编程,点对点传输文件,socket文件.doc

c#winformsocket网络编程,点对点传输文件,socket文件.doc

预览

免费试读已结束,剩余 18 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://heisetoufa.javaeye.com/blog/257070"c#winformsocket网络编程,点对点传输文件,socket文件传输,监听端口关键字:socket网络编程点对点传输文件文件传输监听端口服务器用来接收文件,不停的监听端口,有发送文件就马上开始接收文件服务端代码:C#代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net;usingSystem.Threading;usingSystem.Net.Sockets;usingSystem.IO;namespaceTestSocketServerHSTF{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();//不显示出dataGridView1的最后一行空白dataGridView1.AllowUserToAddRows=false;}#region定义变量#endregion#region进入窗体即启动服务privatevoidForm1_Load(objectsender,EventArgse){//开启接收线程ThreadTempThread=newThread(newThreadStart(this.StartReceive));TempThread.Start();}#endregion#region功能函数privatevoidStartReceive(){//创建一个网络端点IPEndPointipep=newIPEndPoint(IPAddress.Any,int.Parse("2005"));//MessageBox.Show(IPAddress.Any);//创建一个套接字Socketserver=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//绑定套接字到端口server.Bind(ipep);//开始侦听(并堵塞该线程)server.Listen(10);//确认连接Socketclient=server.Accept();//获得客户端节点对象IPEndPointclientep=(IPEndPoint)client.RemoteEndPoint;//获得[文件名]stringSendFileName=System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));//MessageBox.Show("文件名"+SendFileName);//获得[包的大小]stringbagSize=System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));//MessageBox.Show("包大小"+bagSize);//获得[包的总数量]intbagCount=int.Parse(System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client)));//MessageBox.Show("包的总数量"+bagCount);//获得[最后一个包的大小]stringbagLast=System.Text.Encoding.Unicode.GetString(TransferFiles.ReceiveVarData(client));//MessageBox.Show("最后一个包的大小"+bagLast);//创建一个新文件FileStreamMyFileStream=newFileStream(SendFileName,FileMode.Create,FileAccess.Write);//已发送包的个数intSendedCount=0;while(true){byte[]data=TransferFiles.ReceiveVarData(client);if(data.Len