/*
下文中data是一个params string[]类型,主要是指客户端通过%字符分割需要发送给服务器的合并数据字符串。
服务器接收数据也用data表示,期待大家的阅读,觉得好的记得赏个好评。
*/
一.客户端和服务端都有的发送文件方法
public void SendFile(string path){
FileStream fs=new FileStream(filepath,FileMode.Open,FileAccess.Read);
byte[] data=new byte[1024];
int length=fs.Read(data,0,data.Length);
string content=Encoding.UTF8.GetString(data,0,length);
fs.Close();
_socket.Send(protocol,Path.GetFileName(path),content);
}
二.服务端接收并广播文件
string protocol=data[0];
string name=data[1];
string content=data[2];
using(FileStream fs=new FileStream(“d://server”+name),FileMode.Create,FileAccess.ReadWrite)
{
byte[] buffer=Encoding.UTF8.GetBytes(data[i]);
fs.Write(buffer,0,buffer.Length);
fs.Close();
SendFile(protocol,name,content);
}
三.客户端接收文件
string protocol=data[0];
string name=data[1];
string content=data[2];
using(FileStream fs=new FileStream(“d:client/”+name),FileMode.Create,FileAccess.ReadWrite)
{
byte[] buffer=Encoding.UTF8.GetBytes(data[i]);
fs.Write(buffer,0,buffer.Length);
fs.Close();
}
C# Socket TCP之文档收发
最新推荐文章于 2025-04-10 16:10:39 发布